rsync 无法检测新文件和目录

rsync 无法检测新文件和目录

几年来我一直通过 rsync 对远程计算机进行备份。至少在过去的两个月里,rsync已经停止检测要备份的机器上的新文件和目录。脚本的输出表明文件和目录是最新的,即使它们足够新,不存在于远程计算机上的任何版本中!

#!/bin/sh
#
# MAKE SURE HAVE CORRECT REMOTE/AT-HOME LOGIN SETUP AND THAT TARGET IS TOTEMDOC and source is Documents
#
 rsync -azvv -e "ssh -o CheckHostIP=no -i /home/stefan/.ssh/id_rsa" /home/stefan/Documents remoteUser@MouseHouse:/totembackup/totemdoc

输出:

opening connection using: ssh -o CheckHostIP=no -i /home/stefan/.ssh/id_rsa -l totem MouseHouse rsync --server -vvlogDtprze.iLsfxC . /totembackup/totemdoc  (13 args)
sending incremental file list
delta-transmission enabled

然后是每个文件都是最新的列表,然后是结论:

total: matches=0  hash_hits=0  false_alarms=0 data=0

sent 407,686 bytes  received 794,633 bytes  801,546.00 bytes/sec

出了什么问题?为什么 rsync 无法检测文件的更改,甚至无法检测新创建的文件?

答案1

事实证明我的脚本中有一个不相关的愚蠢错误。这些文件一直都是最新的,脚本只是没有将它们复制到我认为的位置。

在修改脚本的某个时刻,我一定不小心删除了源路径中的尾部斜杠。这意味着脚本将行为从复制到更改/totembackup/totemdoc 为复制到/totembackup/totemdoc/DocumentsDocuments在浏览/totembackup/totemdoc以检查备份是否正常工作时,我从未注意到这个新目录。

恢复源路径/home/stefan/Documents/(注意尾部斜杠)使脚本的行为恢复到我的预期。

相关内容