我创建一个bash脚本来备份我的文件使用rsync。

备份所有来自单个目录。 我只希望新的或修改的文件进行备份。

目前,我告诉rsync将备份的目录,并检查文件相比上次备份。

我这样做的方式是

THE_TIME=`date "+%Y-%m-%dT%H:%M:%S"`
rsync -aP --link-dest=/Backup/Current /usr/home/user/backup /Backup/Backup-$THE_TIME
rm -f /Backup/Current
ln -s /Backup/Backup-$THE_TIME /Backup/Current

我敢肯定我的语法正确,此。每个备份将检查对“当前”的文件夹,并上传只necesary。然后,它会删除当前文件夹中,并重新创建符号链接到它只是做了最新备份。

我正在一个错误,当我运行脚本:

rsync: link "/Backup/Backup-2010-08-04-12:21:15/dgs1200series_manual_310.pdf"
     

=> /Backup/Current/dgs1200series_manual_310.pdf   失败:不支持操作(45)

主机OS运行HFS文件系统,其支持硬连接。我想弄清楚,如果别的东西是不支持这一点,或者如果我在我的代码中的问题。

感谢您的帮助

编辑:

我可以创建我的本地计算机上的硬链接。 我还可以用来在远程服务器上的硬链接(在本地登录时) 通过AFP安装的时候,我不能够在远程服务器上创建硬链接。即使服务器上存在两个文件。

我猜测这是AFP的限制。

有帮助吗?

解决方案

从该名男子页两件事情中脱颖而出,是值得检查:

  

如果文件的未链接,仔细检查其属性。也                 检查是否存在属性越来越强的rsync的外                 控制,这样的挂接squishes根到单个选项                 用户,或者安装使用通用所有权可移动驱动器(例如                 作为OS X的“忽略此卷上的所有权”选项)。

  

请注意,rsync的版本之前的2.6.1有一个错误,可能                 防止--link-DEST从非超级用户正常工作                 当-o指定(或由-a暗示)。您可以变通                 通过避免发送到旧的rsync当-o选项这个错误。

你有没有“忽略所有权”选项打开?你有什么版本的rsync的?

另外,你尝试过使用ln在命令行手动创建硬链接相似?

其他提示

万一您的命令行仅仅是一个例子:一定要始终指定链接DEST目录与绝对路径!这件事情这花了我不少时间来找出...

我不知道这是否是同样的问题,但我知道,rsync的不能同步时的目标是FAT32分区,文件名有一个文件:它(冒号)“”。 [源文件系统是ext3和目的地是FAT32]

尝试重新配置date命令,以便它不使用冒号,看看是否有差别。

e.g。

THE_TIME=`date "+%Y-%m-%dT%H_%_%S"`
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top