当我尝试备份完整目录时,大约一半的文件被复制,另一半没有。
所有错误信息都是类似的 - 没有这样的文件或目录 (2)
rsync: mkstemp "/mnt/NAS/Archive/backup/.../.1.7.8.org.Ittcl6" failed: No such file or directory (2)
rsync: mkstemp "/mnt/NAS/Archive/backup/.../.panda-chair.jpg.fjijU7" failed: No such file or directory (2)
rsync: mkstemp "/mnt/NAS/Archive/backup/.../.DSC_0014.JPG.BJWjxQ" failed: No such file or directory (2)
...
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1165) [sender=3.1.1]
下一次:
rsync: readlink_stat("/mnt/NAS/Archive/backup/.../kviitung_080611.pdf") failed: Permission denied (13)
file has vanished: "/mnt/NAS/Archive/backup/.../keskus"
...
rsync: mkdir "/mnt/NAS/Archive/backup" failed: File exists (17)
rsync error: error in file IO (code 11) at main.c(656) [Receiver=3.1.1]
等等 ...
神秘之处在于,每次我运行完全相同的脚本而不做任何更改时,它都会在不同的文件上显示相同的错误消息。这意味着当我反复运行脚本时,我最终会复制所有文件。
文件或目录权限以及文件或目录名称没有问题。我唯一发现的是,它会立即将整个目录留空,但每个文件都会给出错误消息。我还发现的另一件事是,它首先以 root 所有权创建新的复制目录,然后更改为实际所有者。源和目标上都没有相关的系统消息。没有其他读/写错误,只是通过 nfs 进行 rsync。通过 ssh 向同一 nas 进行 rsync 也没有任何错误,但本地网络中的 ssh 似乎毫无意义。
我猜可能是 nfs mount 优化不够。谢谢大家提供任何建议!
一些背景信息:
来源:Pentium M 笔记本电脑上的 ext3 驱动器
目的地:xfs raid 1 nas box ARM4vl 300Mhz 128MB 配备 OpenWRT Barrier Breaker r35972 通过 nfs 挂载。
# cat /proc/mounts
192.168.0.100:/mnt/md1 /mnt/NAS nfs rw,relatime,vers=3,rsize=16384,wsize=16384,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.0.100,mountvers=3,mountport=32780,mountproto=udp,local_lock=none,addr=192.168.0.100 0 0
rsync 行:
rsync -avR -s -O -i --delete --stats $dir $DESTPATH 2>&1 >> $LOGFILE
PS:同时我发现了新的证据 - 在新的 nfs 卸载/安装循环之后,rsync 的工作方式有所不同。之后它会给出“没有这样的文件或目录”错误。以下 rsync 都乱七八糟,有数百个“文件已消失”。