我使用 rsync 从我的相机备份我的照片,使用:
rsync -vzrtl --progress --stats --timeout=0 host destination
现在,当我进行第一次备份时,我在不同的时区,然后我搬到了不同的时区,并在笔记本电脑上更改了它(我使用的是 ubuntu 10.04.4)。今天我正在备份我的图片,我发现时间戳不同(我的意思是你可以用 'ls -lt' 看到的时间戳),所以 rsync 会复制整个目录(我总是先运行 rsync 选项 -n 到知道它将传输的文件列表)。现在这只是愚蠢的,因为文件实际上是相同的。所以我改回了以前的时区,实际上我的相机上的文件时间戳改变了 - 我觉得这很奇怪。
移动到上一个时区后,发现创建时间是一样的,但是文件的访问和更改时间还是不一样的,使用stat. 例如:
在主机上
File: `DSC00003.JPG'
Size: 3068392 Blocks: 6016 IO Block: 32768 regular file
Device: 821h/2081d Inode: 2109 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 1000/simona) Gid: ( 1000/simona)
Access: 2013-03-26 00:00:00.000000000 +0000
Modify: 2007-12-25 22:48:20.000000000 +0000
Change: 2007-12-25 22:48:20.000000000 +0000
并在目的地
File: `DSC00003.JPG'
Size: 3068392 Blocks: 6008 IO Block: 4096 regular file
Device: 802h/2050d Inode: 245762 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 1000/simona) Gid: ( 1000/simona)
Access: 2013-03-26 10:24:49.000000000 +0000
Modify: 2007-12-25 22:48:20.000000000 +0000
Change: 2013-02-09 00:11:09.000000000 +0000
我不想再次复制文件,这会很愚蠢,你能提出一个干净的解决方案吗?以后如何防止这种情况发生?有没有办法防止 rsync 覆盖目的地最近修改过的图片?