我想将 rsync 命令设置为 cron 作业,因此我需要找到一种方法来自动向 rsync 提供我的服务器密码。
目前我有一个如下所示的 shell 脚本:
#!/bin/sh
rsync *.rss [email protected]:/home/dir --password-file ~/rsync.password
该rsync.password
文件仅包含我的密码。
但是,当我运行脚本时,我得到:
The --password-file option may only be used when accessing an rsync daemon.
rsync error: syntax or usage error (code 1) at main.c(1241) [sender=3.0.7]
谁能告诉我如何修复这个问题,以便我可以开始将 shell 脚本作为 cron 作业运行?
答案1
您真正想要做的是考虑在服务器之间设置公钥,以便它们相互“信任”,并且不需要密码。
请阅读这里:
http://www.thegeekstuff.com/2011/07/rsync-over-ssh-without-password/
答案2
有时需要在不使用 ssh 的情况下进行 rsync,尤其是当 rsync 在一方作为服务器运行时。在这种情况下,我写了说明,说明如何从命令行提供 rsync 密码。
这对于编写脚本非常有用: rsync-不提示输入密码