現在、2つのフォルダ間で変更されたファイルをコピーしようとしていますが、違いがあるファイルをそのnew
フォルダにコピーしたいと思います。
フォルダ構造は次のとおりです。
..
|-- update+old
| |-- new
| `-- pt
| `-- abc
`-- web
`-- abc
簡単な説明:
update+old/new
- 新しいファイルがある場所(--compare-dest)
update+old/pt/abc
- 元のファイル(ターゲット)
web/abc
- 変更したファイル(ソース)
私は次のコマンドを実行しています。
rsync -av "$PWD/web/abc/" "$PWD/update+old/pt/abc/" --compare-dest="$PWD/update+old/new/"
スキップしてnew
すぐにすべての変更を適用して、完全にupdate+old/pt/abc/
空白update+old/new/
のままにします。
--dry-run
()を試しましたが、-n
情報は提供しません。 (update+old/new/
なかったと言いましたね)
私が何か間違っているのでしょうか、それとも議論の目的を誤解していますか--compare-dest=
?
必要に応じて、rsync --version
Debian 8.6で実行される出力は次のとおりです。
root@webtest:/var/www/c1s.int# rsync --version
rsync version 3.1.1 protocol version 31
Copyright (C) 1996-2014 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, xattrs, iconv, symtimes, prealloc
rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. See the GNU
General Public Licence for details.
これは数時間前に実行してインストールされましたapt-get install rsync
。
答え1
よく!
ディレクトリは交換された。
コマンドは次のようにする必要があります。
rsync -av "$PWD/web/abc/" "$PWD/update+old/new/" --compare-dest="$PWD/update+old/pt/abc/"
それでも目的の結果は得られませんが(すべてをコピーするだけです)、これは別の問題です。