回答:
同期しているファイルの所有権または許可をコピーしない-no-
オプションを使用できると思います。rsync
--no-OPTION
You may turn off one or more implied options by prefixing the option
name with "no-". Not all options may be pre‐fixed with a "no-":
only options that are implied by other options (e.g. --no-D,
--no-perms) or have different defaults in various circumstances (e.g.
--no-whole-file, --no-blocking-io, --no-dirs). You may specify
either the short or the long option name after the "no-" prefix (e.g.
--no-R is the same as --no-relative).
For example: if you want to use -a (--archive) but don’t want -o
(--owner), instead of converting -a into -rlptgD, you could specify
-a --no-o (or -a --no-owner).
The order of the options is important: if you specify --no-r -a, the
-r option would end up being turned on, the opposite of -a
--no-r. Note also that the side-effects of the --files-from
option are NOT positional, as it affects the default state of several
options and slightly changes the meaning of -a (see the --files-from
option for more details).
manページを見ると、次のようなものを使用したいと思うと思います。
$ rsync -avz --no-perms --no-owner --no-group ...
存在しないファイルを削除するには、--delete
スイッチを使用できます。
$ rsync -avz --no-perms --no-owner --no-group --delete ....
タイムスタンプについては、SOURCEファイルとDESTファイルの比較方法を変更せずにこれを維持する方法がわかりません。rsync
このスイッチを使用してタイムスタンプを無視するように指示する場合があります。
-I, --ignore-times
Normally rsync will skip any files that are already the same size
and have the same modification timestamp. This option turns off this
"quick check" behavior, causing all files to be updated.
タイムスタンプについて--no-times
は、あなたが探していることをするかもしれません。
-aオプションを避ける方が簡単だと思います
$ -a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
必要なオプションのみを設定します。
ユーザー-o、グループ-g、時間-tおよび権限-pの変更ではなく、すべてのオプションが好きな場合、これらの4つのオプションを同等のアーカイブから差し引くことができます。
$ -rlD
宛先のファイルを削除するには、オプション--deleteを使用してください。
あなたの質問に:しかし、私はすべてのファイルがチェックされると思います-rsyncはコンテンツによってのみ変更されたファイルのみを転送/チェックできません。
-l
リンク、-D
デバイス(と同じように扱われます--specials
)の場合、-r
コンテンツを話しているのであれば、それだけで十分だと思います。
あなたが探しているのはオプションだと思います
rsync -r --size-only
manページから:
--size-only
This modifies rsync’s "quick check" algorithm for finding files that need to be transferred,
changing it from the default of transferring files with either a changed size or a changed
last-modified time to just looking for files that have changed in size. This is useful when
starting to use rsync after using another mirroring system which may not preserve timestamps
exactly.
ソースディレクトリにないファイルを本当に削除したい場合は、 --delete
rmodにファイルの変更時間とサイズに基づいたチェックを無視させ、「-c」スイッチでchksumベースのアプローチを使用することができます。
-c, --checksum skip based on checksum, not mod-time & size
これは、ファイルの時間とサイズが一致するかどうかに関係なく、ファイル全体をチャンクで比較する必要があり、ソースと宛先の間で関連するメタデータをやり取りする必要があることを意味しますが、異なるチャンクのみを転送します送信元と宛先の間。
このスイッチを他の人が提案する他のスイッチと組み合わせて使用すると、コピーされるものを制限する必要があり(変更されたもののみをコピーする)、ソースと宛先間の整合性チェックを行う利点がありますが、リンク速度によっては時間がかかります両側のファイルチャンクをchksumして比較する必要があります)。
>f..T...
いるのがわかります。