我想使用rsync将我的主文件夹与Ubuntu 11.10机器上另一个驱动器上的“备份”副本同步。 我希望它每15分钟发生一次。
如果我手动运行:
rsync -ar --delete /home/user/ /backupdrive/
在CLI中,它工作得很好 – 一切都在同步。
但我补充说:
*/15 * * * * rsync -ar --delete /home/user/ /backupdrive/
到sudo crontab -e ,同时它添加新的文件,它不会删除旧的。
有任何想法吗?
编辑
cron out.txt的前三行是:
sending incremental file list ./ IO error encountered -- skipping file deletion
CLI版本不会发生这种情况。
如果您在交互式shell中为rsync隐式使用SSH身份validation,则需要明确地将其设置为在cron中使用。 用SSH密钥locking需要在没有密码的情况下工作起来会非常棘手,因为理想情况下,人们会想限制rsync输出在远端的位置。
您可以使用〜/ .ssh / authorized_keys文件来configuration密钥,以便在有人连接到主机时只运行给定的特定命令。 如果守护进程模式下的rsync可以强制将所有内容放在/.ssh/authorized_keys文件“命令”条目中指定的目标目录下,它甚至会相当安全。 rsyncd.conf(5)页面有这样的一些相关的选项。