ファイルがターゲットに存在し、ファイルがターゲットよりも最新であり、ディレクトリの場合、ファイルが存在する必要がある場合にのみファイルおよび/またはディレクトリをコピーするにはどうすればよいですか?再帰的
次の機能を使用した複製
$ ls -a ~/.config
gtk-2.0/
gtk-3.0/
SpeedCrunch/
$ ls -a /other/path/home/.config/
gtk-2.0/
gtk-3.0/
SpeedCrunch/
$ rsync -u --existing ~/.config /other/path/home/
skipping directory .
仕事できません。
Linuxユーティリティとは何ですか?どのように実行/解決するのですか?前にありがとう
ベストアンサー1
クイック:
再帰スイッチ「-r」を含めることを忘れました。
rsync -u --existing -r ~/.config /other/path/home/
追加:
あるいは、再帰を含むものと同じで、次のようないくつかの重要な属性を維持するスイッチの-a
使用を検討することができます。-rlptgoD
- -r: ディレクトリに再帰
- -l:シンボリックリンクをシンボリックリンクにコピーします。
- -p: 権限の維持
- -t: 修正時間を維持
- -g:予約済みグループ
- -o:所有者を維持する(スーパーユーザーのみ)
- -D: --devices --specials と同じ特殊ファイルを保持します。
以下を使用してテストします。
mkdir src
touch src/file{1..3}
touch src/thefile
# Destination:
mkdir dst
touch dst/file{1..3}
touch -d 20201023 dst/thefile
# List all
free -D src dst
今試してください:
rsync -rt -uPv --existing src dst/
私は以下を使用しました:
- -r: ディレクトリに再帰
- -t: 修正時間を維持
- -u:受信機で最新のファイルをスキップする
- -P:転送プロセス中の進捗状況を表示します。
- -v:詳細を増やします。
- --existing: シンクへの新しいファイル生成をスキップします。