web-dev-qa-db-ja.com

mkdirをスローするrsync:ディレクトリ「/ data / dir_1 / dir_2 / dir_3 /」を作成できません:そのようなファイルまたはディレクトリはありません

/dataにディスクをマウントしました。これは現時点では空です。

mkdir -pを実行するには、rsyncよりもmkdirが必要です。レベル4にある必要があるファイルとして、つまり/data/dir_1/dir_2/dir_3/filenameのときdir_1dir_2およびdir_3は存在しません。

必要なサブディレクトリを手動で作成すると、次のコマンドを使用してrsyncを実行できます。

rsync -avz source_diretory/ /data/dir_1/dir_2/dir_3

しかし、サブディレクトリを作成しないと、このコマンドはエラーをスローします:

mkdir: cannot create directory ‘/data/dir_1/dir_2/dir_3/’: No such file or directory

Rsyncのmanページを読んでGooglingを試し、-r-Rを使用してみましたが、動作しませんでした。

rsyncmkdir -pのような処理を実行できますか、それとも範囲外ですか?

3

rsyncコマンドはディレクトリツリーを作成しないため、次のコマンドを実行してこれを行うことができます。

 mkdir -p /data/dir_1/dir_2/dir_3

rsyncコマンドの前、または -rsync-path オプションを使用:

--rsync-path = PROGRAM rsyncを起動するためにリモートマシンで実行するプログラムを指定するには、これを使用します。

コマンドは次のとおりです。

 rsync -avz source_diretory/ --rsync-path="mkdir -p /data/dir_1/dir_2/dir_3 && rsync" /data/dir_1/dir_2/dir_3

これが便利な link です。

5
Lety