![我的 rsync 备份 sh 脚本有什么问题?](https://linux22.com/image/1041933/%E6%88%91%E7%9A%84%20rsync%20%E5%A4%87%E4%BB%BD%20sh%20%E8%84%9A%E6%9C%AC%E6%9C%89%E4%BB%80%E4%B9%88%E9%97%AE%E9%A2%98%EF%BC%9F.png)
以下是shell脚本(backup.sh)
rsync -abr --files-from='backup.txt' --delete --stats --progress --exclude={/home/rob} --log-file=/var/log/backup.log /home/ root@remote:/home/
我以 root 身份创建了上述内容。backup.txt 是 4 行简单路径(/home/linda/ 等)。
我编辑了 crontab,使其从周一到周五的某个时间开始运行。
我可以手动运行该脚本并且它运行良好。
当我让它自行运行然后回来查看日志时,它显示 2 个错误:
rsync: failed to open files-from file backup.txt: No such file or directory
rsync error: syntax or usage error (code 1) at main.c(1453) [client=3.0.9]
我做错了什么或者忘记了什么?
答案1
使用 cron 时(或任何您不知道它将从什么环境执行的情况)要非常明确地说明路径。使用 的完整路径backup.txt
。
第二个错误可能与此有关,也可能是由于您在 中输入的大括号出现问题--exclude={/home/rob}
。不知道您在这里想做什么。只需使用引号即可。