例:
rsync /tmp/fol1/fol2/fol3/foln user@addr:/tmp/fol1/fol2/fol3/foln
私の主な問題は、フォルダー/ tmp/fol1がリモートマシンに存在しないことです。
Rsyncにこのツリーを作成させるためにどの引数を使用できますか?
今日同じ問題にぶつかり、解決策を見つけました here 。
次のいずれかを実行できます。
rsync -avR foo/bar/baz.c remote:/tmp/
または:
rsync -avR somedir/./foo/bar/baz.c remote:/tmp/
リモートマシンで/tmp/foo/bar/baz.cを作成します。
見る --relative/-R
セクションのman rsync
詳細については。
そのための1つの秘isは、--rsync-path
パラメータと次の値:
--rsync-path="mkdir -p /tmp/fol1 && rsync"
--rsync-pathを使用すると、リモートマシンでrsyncを起動するために使用するプログラムを指定し、シェルの助けを借りて実行できます。
これをbash経由で行い、sshトンネルを開いて、必要なファイル構造を作成してから、データをrsyncできます。これらの一時フォルダーは、この同期が完了するたびに変わりますか?例えば、それは曜日ごとですか?
ssh user@address
mkdir -p tmp/fol1
rsync avz /tmp/fol1/fol2/fol3/foln user@addr:/tmp/fol1/fol2/fol3/foln
fi