rsyncは最新のファイルを上書きしません。

rsyncは最新のファイルを上書きしません。

詳細コピー:

mkdir test && cd test
mkdir folder && cd folder

echo "#line1" > file
rsync -a -I . ..
echo "#line2" >> ../file
rsync -a -I . ..

出力:

../file上記のrsyncコマンドで上書きする必要があるため、その内容は予期しないものです。それはただ見なければならない#line1

more ../file
#line1
#line2

more file  # <-- expected because we haven't edited this file
#line1

質問:

ファイルを常に上書きしたいです。上記で何か間違っているのでしょうか?

システムメッセージ:

試した Rsync バージョン:

rsync version 3.0.4 protocol version 30

そして

rsync version 2.6.9 protocol version 29

OSが試しました:
SUSE Enterprise
Linux 3.0.101-71.1.10543.0.PTF.974263.72.1.csc-default x86_64
KDE 4.3.5

そして

Mac OS X El Capitan (10.11)

答え1

フラグでエイリアスがすでに設定されている場合、これは非常に愚かな質問であることがわかりました-u

\rsync -a . ..仮名を脱出するには走ります。

答え2

rsyncバージョン3.0.9プロトコルバージョン30を使用してCentOS 7を実行し、手順を実行して正しい結果を得ました。

このステップは私にとって効果的なので、何の問題もありません。ただし、このオプションなしでやり直してみることができます-I

➜ /tmp$  mkdir test && cd test
➜ test$  mkdir folder && cd folder
➜ folder$  echo "#line1" > file
➜ folder$  cat file 
#line1
➜ folder$  rsync -a -I . ..
➜ folder$  ls ..
file  folder
➜ folder$  cat ../file 
#line1
➜ folder$  echo "#line2" >> ../file
➜ folder$  cat ../file             
#line1
#line2
➜ folder$  rsync -a -I . ..        
➜ folder$  cat ../file     
#line1
➜ folder$  rsync --version
rsync  version 3.0.9  protocol version 30

答え3

バージョン3.0.6では、期待どおりに動作しているようです。リポジトリで更新されたrsyncを確認します。

[user@server ~]$ mkdir test && cd test
[user@server test]$ mkdir folder && cd folder
[user@server folder]$ 
[user@server folder]$ echo "#line1" > file
[user@server folder]$ rsync -a -I . ..
[user@server folder]$ echo "#line2" >> ../file
[user@server folder]$ rsync -a -I . ..
[user@server folder]$ cat ../file 
#line1
[user@server folder]$ cat file 
#line1

同期情報

[user@server folder]$ rsync --version
rsync  version 3.0.6  protocol version 30

システムメッセージ

CentOS 6.7 final
Linux server 2.6.32-573.12.1.el6.x86_64 #1 SMP Tue Dec 15 21:19:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

関連情報