ファイアウォールの背後にあるローカルコンピュータにディレクトリがあるとします。
local:/home/meee/workdir/
そしてファイアウォールの反対側にあるリモートシステムのディレクトリは次のとおりです。
remote:/a1/a2/.../aN/one/two/
remote:/a1/a2/.../aN/one/dont-copy-me{1,2,3,...}/
... N
>= 0 にする必要があります。
私のローカルコンピュータではrsync
。one/two/
local:/home/meee/workdir/one/two/
を使用すると、rsync remote:/a1/a2/.../aN/one/two/ ~/workdir/
次のように終了します。
local:/home/meee/workdir/two/
を使用すると、rsync --relative remote:/a1/a2/.../aN/one/two/ ~/workdir/
次のように終了します。
local:/home/meee/workdir/a1/a2/.../aN/one/two/
このうち私が望むものは何もありません。
rsync
希望の結果を得るためのフラグがありますか?- そうでなければ、誰でも簡単な解決策を考えることができますか?
ベストアンサー1
--relativeの場合は、ソースディレクトリパスにドットを挿入する必要があります。
rsync -av --relative remote:/a1/a2/.../aN/./one/two ~/workdir/
ドキュメントを参照してください。
-R、--相対的
[...]
また、指定されたパスごとに暗黙的なディレクトリに送信されるパス情報の量を制限することもできます。送信側(2.6.7ベース)の最新のrsyncを使用すると、次のようにソースパスにドットとスラッシュを挿入できます。
rsync -avR /foo/./bar/baz.c remote:/tmp/