【问题标题】:rsync and backup and changing timezonersync 和备份和更改时区
【发布时间】:2013-03-26 15:11:11
【问题描述】:

我使用 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覆盖目的地最近修改过的图片?

【问题讨论】:

  • 发生了一些非常奇怪的事情。更改时区永远不会导致 rsync 重新复制文件,因为更改时区永远不会影响实际的时间戳,只会影响时间戳的显示。

标签: timestamp backup rsync stat


【解决方案1】:

潜在的问题是相机使用的是 Window 的 FAT 文件系统,当涉及到时区时,它会被破坏,因为它只存储本地时间。随着不同的系统试图以不同的方式补偿这种损坏以避免其他类型的损坏,就会出现无穷无尽的问题。

对于一个讨论,cygwin 的解决方案,以及有关潜在问题的大量参考,请参阅 Wayne Piekarski - Solution For Rsync and Cygwin Daylight Savings Timezone Problem

其中的一个参考资料中包含了一些关于该问题的细节: Beating the Daylight Savings Time bug and getting correct file modification times - CodeProject

那些主要处理 Windows,所以我仍在研究如何在 Linux 上干净地处理这个问题。参见例如Bug #25048 “Vfat filesystems don't respect timezone” : Bugs : “linux-source-2.6.15” package : Ubuntu

这里讨论了一些 Linux 解决方案: rsync and backup and changing timezone - Unix & Linux Stack Exchange,即 --size-only 或 --modify-window=3660,但它们存在风险,因为它们在某些情况下无法进行所需的备份。

在我的例子中,FAT 文件系统位于 Android 手机的 sdcard 上,这可能会对可能的解决方案引入更多限制。

我认为这将是一个非常普遍的问题,所以我很惊讶这没有得到更好的记录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    相关资源
    最近更新 更多