Rsync
如何擺脫 rsync 的 .d..t(時間戳更改)輸出?
當我將兩個目錄與 rsync 應用程序進行比較時,我可以看到有很多關於時間戳更改的輸出。例如:
$ rsync --dry-run -avh -i --delete --size-only --checksum --stats dir1/ dir2/ ... ... .d..t...... 3com/ .d..t...... RTL8192E/ .d..t...... acenic/ .d..t...... adaptec/ .d..t...... advansys/ .d..t...... amd/ .d..t...... amdgpu/ .d..t...... ar3k/ .d..t...... ar3k/1020201coex/ .d..t...... asihpi/ .d..t...... ath10k/ ... ...
我只想在他們的 md5sum 不同時查看任何文件更改。我不想看到任何時間戳更改。我怎樣才能避免這些
d..t
輸出?非常感謝。
編輯:
我以為
--size-only
會暗示--no-times
,但事實並非如此。非常感謝@BowlOfRed 的回答。所以最終的工作命令是:rsync --dry-run -avh --no-times -i --delete --checksum --stats dir1/ dir2/
您正在指定(通過
-a
標誌)您希望在所有文件/目錄上保留時間戳,因此它報告這些更改將會發生。要麼不給出
-t
標誌(通過 進入),要麼在命令行上-a
添加標誌。--no-times
rsync
現在不會使用時間作為標準來檢查是否需要更新,並且如果唯一的區別是時間戳,它將不會嘗試更新。
這些看起來像目錄時間戳,您可以通過管道輸出來忽略它
grep -v '/$'
。如果您想絕對精確,請使用更完整的 RE,它僅匹配
d..t
目錄的序列,然後僅忽略這些行rsync … | grep -v '^\.d\.\.t\.\.\.\.\.\. .*/$'