首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行rsync不会给出所需的结果

问运行rsync不会给出所需的结果
EN

Server Fault用户
提问于 2012-01-06 22:52:40
回答 2查看 332关注 0票数 0

我有一个linux盒,它安装了Windows 7共享。Linux有一个cron作业,可以将Win7共享的内容复制到Linux盒上的另一个位置--备份。

脚本运行的简单方式是rsync -a etc....

我在局域网外有另一个Linux盒,它在局域网中的Linux盒之间运行相同的rsync命令,返回到局域网外的Linux盒--第二个备份。

问题是,rsync命令似乎没有更新自上次运行rsync以来已更改的文件。我知道在Windows框中有一个文件已经更改,在Linux框上,该文件仍然是一个旧版本。我想知道rsync命令是否查看文件夹的时间戳,如果没有更改,则跳过整个目录。或者其他的事情发生了?

为什么rsync更新的文件没有新的时间戳?

谢谢

编辑--添加更多详细信息

我运行的命令是:

代码语言:javascript
复制
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:

代码语言:javascript
复制
00 2    * * *   root    python /home/garfonzo/Backup_Scripts/BU_Script.py

BU_Script.py包含rsync命令。

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

代码语言:javascript
复制
drwxrwxrwx  9 garfonzo garfonzo 4096 2011-12-03 02:00 HQ_Backups/

编辑2

哇哇喔..。--ignore-existing标志是我问题的根源吗?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2012-01-06 23:25:15

显然,问题在--ignore-existing选项中,这意味着“跳过存在于接收器上的文件更新”(如man (1))。删除这个选项,一切都会像你期望的那样工作。

还可以考虑使用rdiff-backup (http://www.nongnu.org/rdiff-backup/)进行增量备份。

票数 1
EN

Server Fault用户

发布于 2012-01-06 23:03:38

您能包括正在运行的完整的、精确的rsync命令(这两个命令都是)吗?rsync有几个选项(--忽略次数和大小选项)可能导致文件不传输,但听起来您没有使用这些选项。另外,关于您的文件共享设置的更多细节:您使用Samba吗?Cron作业是否以root形式运行?这些文件是否由根用户在任何一台Linux机器上拥有?权限是什么样子的?

要查看正在发生的事情,请手动运行脚本,并添加"-vv“和”-过程“,以查看跳过的内容和原因。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/347538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档