我在 RAID1 中有一个 Dlink NAS (dns-323),用于备份家庭照片、视频和其他一些数据。每当我们向 NAS 添加大量新文件时,我也会手动同步到 Atom Linux 小机器上的专用备份驱动器。我终于在 NAS 上丢失了一个驱动器,并且由于我自己的失误,也丢失了整个卷。没问题,这就是备份驱动器的用途。在更换坏驱动器并创建新的 RAID 卷后,我反向使用相同的 rsync 命令将文件恢复到 NAS。这很好,除了命令完成后,我注意到它没有保留时间戳。时间戳保存在 NAS->backup 方向,但不保存在 backup->NAS 方向。
我使用以下选项在 Atom Linux 机器上运行 rsync 命令(这确实保留了时间戳):
rsync --archive --human-readable --inplace --numeric-ids --delete /mnt/dns-323 /mnt/dlink_backup --progress --verbose --itemize-changes
从备份(不保留时间戳)恢复卷的反向命令非常相似:
rsync --archive --human-readable --inplace --numeric-ids --delete /mnt/dlink_backup/dns-323/ /mnt/dns-323/ --progress --verbose --itemize-changes
它实际上恢复了文件,但给出了许多错误,例如:
rsync: failed to set times on "/mnt/dns-323/Rich/Code/.emacs": No such file or directory (2)
我下午大部分时间都在谷歌上搜索并尝试不同的东西,但到目前为止还没有解决我的问题。我使用'touch'命令成功修改了NAS上一两个文件的时间,只是为了证明它可以做到,因为我相信这是rsync必须做的一件事。我已经尝试以我的用户和 root 身份执行此操作。我的意思是我已经跑sudo rsync .....
了,而且rsync --rsync-path='/usr/bin/sudo /usr/bin/rsync' .....
......前面提到的所有参数都在哪里。我/etc/fstab
的 NAS 和备份驱动器分别有以下条目:
# the dns-323
//192.168.1.202/Volume_1 /mnt/dns-323 cifs guest,rw,uid=1000,gid=1000,nounix,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
# the dlink_backup drive
/dev/sdb /mnt/dlink_backup ext3 defaults 0 0
如果无法做到,保留时间戳并不是绝对重要的,但它似乎应该是可能的——我只是被难住了。
提前致谢。让我知道我是否可以提供任何其他信息。