我经常rsync
将我的文件从 (x)Ubuntu 桌面备份到一个外部 USB 驱动器(不是闪存驱动器,而是旧旋转类型的硬盘。)
大多数时候它工作正常,我使用的命令是
rsync -Otvru ~/SavedStuff/ /mnt/datb3/data/SavedStuff > ~/SavedStuff.log
但今天这些文件失败了:
ls -ll --time-style=long-iso SavedStuff/Music_2/AYK1-3798/AYK1-3798_S2.mp3 /mnt/datb3/data/SavedStuff/Music_2/AYK1-3798/AYK1-3798_S2.mp3
-rw-rw-r-- 1 acal acal 25380989 2005-08-16 11:22 /mnt/datb3/data/SavedStuff/Music_2/AYK1-3798/AYK1-3798_S2.mp3
-rw-rw-r-- 1 acal acal 25382220 2005-08-16 11:22 SavedStuff/Music_2/AYK1-3798/AYK1-3798_S2.mp3
这是显示时间的另一种方式:
stat SavedStuff/Music_2/AYK1-3798/AYK1-3798_S2.mp3 /mnt/datb3/data/SavedStuff/Music_2/AYK1-3798/AYK1-3798_S2.mp3
File: SavedStuff/Music_2/AYK1-3798/AYK1-3798_S2.mp3
Size: 25382220 Blocks: 49576 IO Block: 4096 regular file
Device: 801h/2049d Inode: 50987363 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ acal) Gid: ( 1000/ acal)
Access: 2020-01-27 16:04:40.908580904 +0100
Modify: 2005-08-16 11:22:00.000000000 +0200
Change: 2020-01-22 13:24:55.977678797 +0100
Birth: -
File: /mnt/datb3/data/SavedStuff/Music_2/AYK1-3798/AYK1-3798_S2.mp3
Size: 25380989 Blocks: 49576 IO Block: 4096 regular file
Device: fd02h/64770d Inode: 13378890 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ acal) Gid: ( 1000/ acal)
Access: 2019-08-21 08:25:53.671404757 +0200
Modify: 2005-08-16 11:22:50.000000000 +0200
Change: 2019-08-21 08:25:53.671404757 +0200
Birth: -
我更改了第二个文件(在桌面上)上的元数据,然后使用“touch”将日期/时间更改回原始日期/时间(我更喜欢保留原始日期/时间,即使当/如果我更改这些文件)
为什么这个文件没有传输?我的理解是,快速检查算法将使用日期/时间(此处相同)或文件大小(此处不同)。
如何调查rsync
忽略该文件的原因?它的同伴还有很多,如果只有一个我就用cp
。
谢谢!
好吧,看来我设置的时间太不准确了。由于获得完全正确的时间似乎很困难,因此我应该从命令行中删除 -u 选项,该选项明确告诉 rsync 忽略接收器上较新的文件 - 无论文件大小如何。
感谢您告诉我有关该stat
命令的信息!