我正在创建一个 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
我很确定我的语法是正确的。每个备份都将检查“当前”文件夹,并仅在必要时上传。然后它将删除当前文件夹,并重新创建指向刚刚执行的最新备份的符号链接。
运行脚本时出现错误:
rsync: link "/Backup/Backup-2010-08-04-12:21:15/dgs1200series_manual_310.pdf"
=> /Backup/Current/dgs1200series_manual_310.pdf 失败:不支持操作 (45)
主机操作系统正在运行支持硬链接的 HFS 文件系统。我试图弄清楚是否有其他东西不支持这一点,或者我的代码是否有问题。
谢谢你的帮助
编辑:
我能够在我的本地机器上创建一个硬链接。我还能够在远程服务器上创建硬链接(在本地登录时)我无法在通过 afp 挂载时在远程服务器上创建硬链接。即使这两个文件都存在于服务器上。
我猜这是afp的限制。