运行rsync不会提供所需的结果

我有一个安装了Windows 7共享的Linux机器。 Linux机器有一个cron作业,将Win7共享的内容复制到Linux机器上的另一个位置 – 备份。

脚本运行只是rsync -a etc....

我在局域网之外还有另外一个Linux机器,在局域网中的Linux机器之间运行相同的rsync命令,再到局域网的Linux机器 – 第二个备份。

问题是rsync命令似乎没有更新自上次运行rsync以来已更改的文件。 我有一个文件,我知道已经在Windows机器上更改,在Linux的盒子上,仍然是一个旧版本。 我想知道如果rsync命令查看文件夹的时间戳,如果没有改变,跳过整个目录。 或者也许别的东西正在发生?

为什么不用新的时间戳rsync更新文件?

谢谢

编辑 – 添加更多细节

我运行的命令是这样的:

 rsync --ignore-existing --delete --stats --progress -a /hqserver/ /company_data/HQ_Backups/Day 

我的设置:

在局域网中有一个Windows 7机器,用于存储公司数据。 用户从他们的计算机上分享这个份额。 在局域网中有一个Linux机器使用samba来挂载这个相同的Windows 7共享, rsyncs共享内容rsyncs到Linux机器上的另一个位置。 然后在局域网之外还有另外一个Linux机器运行相同的rsync命令将内部Linux机箱内容复制到自己。

cron作业以root身份运行该命令。 这是crontab:

 00 2 * * * root python /home/garfonzo/Backup_Scripts/BU_Script.py 

BU_Script.py包含rsync命令。

以下是备份发送到的文件夹的ls

 drwxrwxrwx 9 garfonzo garfonzo 4096 2011-12-03 02:00 HQ_Backups/ 

编辑2

哇,你是--ignore-existing是我的问题的根源--ignore-existing标志!?

显然,问题在于--ignore-existing选项,意思是“跳过更新接收器上存在的文件”(按照rsync(1))。 删除选项,一切都应该如你所愿。

你也可以考虑使用rdiff-backuphttp://www.nongnu.org/rdiff-backup/ )进行增量备份。

你可以包括你正在运行的完整的,精确的rsync命令(两者)? rsync有几个选项(–ignore-times和–size-only),可能会导致文件无法传输,但听起来好像你没有使用这些。 此外,有关您的文件共享设置的更多细节:您是否使用Samba? cronjob是以root身份运行的吗? 在任何一台Linux机器上是root拥有的文件? 权限是什么样的?

看看发生了什么,手动运行你的脚本,并添加“-vv”和“–progress”,看看有什么被跳过,为什么。