rsync到NAS每次都复制一切

我运行Ubuntu Linux并使用备份脚本使用rsync复制事物:

rsync -rc /home/user/source /media/nas/destination 

要么

 rsync -r /home/user/source /media/nas/destination 

但是 – 每天大约需要2.5小时(我每天都在运行),以便完成。 1Gbit LAN上大约有76 Gb的数据。 所以 – 基本上 – rsync只是不跳过目的地的现有文件 – 它只是一遍又一遍地复制一切。

我认为问题在于NAS(d-link 321),它是一个不支持unix系统的samba共享 – 对吗? 所以这样rsync无法区分旧文件和新文件 – 对吗? 我已经尝试rsync与-c参数(跳过基于校验,而不是时间和大小),但仍然没有骰子,仍然需要2.5小时。

任何人都可以提出同步appx 70-80 Gb的数据的方式,而不是每次都不能“愚蠢”地复制一切吗?

谢谢:)

UPDATE

好。 没有运气。 我已经擦除了目标目录,并运行了两次:

 rsync -r --times /home/user/source /media/nas/destination 

两次都花了2.5个小时。 所以它复制一切两次。

嗯。 我深入调查这个问题。 它看起来像rsync不保存时间。 我已经对来自源和目的地的一些文件运行stat命令 – 并且访问,修改,更改时间不保留在目的地。 我不知道为什么会发生这种情况…还有其他build议吗? Ps我比较新的Linux – sio它可以是真正愚蠢和愚蠢的东西:)

更新2解决:问题,因为我意识到源于我错误地安装共享。 我一直在像这样挂载它们(在/ etc / fstab中):

 //192.168.10.199/Volume_1 /media/Volume_1 cifs guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0 

这是什么工作:

 //192.168.10.199/Volume_2 /media/Volume_2 cifs username=sam,password=some_password,uid=developer,gid=developer,_netdev 0 0 

Rsync保存时间现在只需要3分钟!

你为什么不尝试:

rsync -a /home/user/source /media/nas/destination

-a是专门用于归档的便利选项。 它一直在为我工作。

以下是man page的内容:

-a, --archive archive mode; same as -rlptgoD (no -H)

您需要将-t (或--times )添加到您的rsync命令行,以便rsync将在目标位置保留文件修改时间。 这将允许后续的rsync运行跳过具有相同大小和修改时间的所有文件。 另外,不要打扰-c选项,除非你确定知道你的目的地没有(或不能)保持准确的文件修改时间,出于某种原因。

您很可能想要使用-u标志,它告诉rsync不要发送目标中存在的文件,并且在目标中具有更新的修改时间,或者在两个位置都具有相同的修改时间和大小。

除了使用-a标志之外,还应该检查手册页以获取其他选项。 使用简单的镜像备份策略的问题是,任何损坏的文件将被复制并损坏您的备份。 其中一个rsync选项是在目标端备份已更改文件的副本,这样更安全。

我强烈build议看一下BackupPC 。 它使用rsync并具有Debian / Ubuntu软件包。 它将正确处理增量,整理相同的文件,并压缩所有内容以节省空间。