我有一个linux盒,它安装了Windows 7共享。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将相同的Windows7Share挂载,并将共享内容rsyncs到Linux盒的另一个位置。然后,局域网外还有另一个Linux,它运行相同的rsync命令,将内部Linux内容复制到自己。
cron作业以root用户的身份运行命令。这是crontab:
00 2 * * * root python /home/garfonzo/Backup_Scripts/BU_Script.pyBU_Script.py包含rsync命令。
以下是发送备份的文件夹的ls:
drwxrwxrwx 9 garfonzo garfonzo 4096 2011-12-03 02:00 HQ_Backups/哇哇喔..。--ignore-existing标志是我问题的根源吗?
发布于 2012-01-06 23:25:15
显然,问题在--ignore-existing选项中,这意味着“跳过存在于接收器上的文件更新”(如man (1))。删除这个选项,一切都会像你期望的那样工作。
还可以考虑使用rdiff-backup (http://www.nongnu.org/rdiff-backup/)进行增量备份。
发布于 2012-01-06 23:03:38
您能包括正在运行的完整的、精确的rsync命令(这两个命令都是)吗?rsync有几个选项(--忽略次数和大小选项)可能导致文件不传输,但听起来您没有使用这些选项。另外,关于您的文件共享设置的更多细节:您使用Samba吗?Cron作业是否以root形式运行?这些文件是否由根用户在任何一台Linux机器上拥有?权限是什么样子的?
要查看正在发生的事情,请手动运行脚本,并添加"-vv“和”-过程“,以查看跳过的内容和原因。
https://serverfault.com/questions/347538
复制相似问题