是否可以使用 crontab rsync 到另一台服务器?

是否可以使用 crontab rsync 到另一台服务器?

你好,有很多关于如何在本地 rsync 的视频和资源rsync /home/user1 /home/user2/backup,但我还没有找到任何关于将 crontab rsync 到另一台服务器的教程

我使用crontab -e 并且有一个我运行的脚本rsynch.sh

#!/bin/bash
rsync -xza /home/willchap  willchap@server02:/home/willchap/backup

没有 crontab 也可以正常工作,问题是,我猜 crontab 失败是因为它要求输入密码

我有什么选择?

答案1

如果可以的话,最好的选择是在远程服务器上设置基于密钥的 SSH 身份验证,并在客户端上使用没有密码的密钥。这将允许 SSH 连接(当您使用该[user@]server:path符号时 rsync 会使用该连接)在不提示输入密码的情况下进行。

有关执行此操作的 Ubuntu 文档位于:

https://help.ubuntu.com/community/SSH/OpenSSH/Keys#Key-Based_SSH_Logins

设置完成后,尝试使用 rsync 使用的相同帐户通过 SSH 连接到远程服务器,并查看它是否要求输入密码。如果没有,则设置正确。

答案2

事实上,这是有可能的。

执行正常的 rsyncscript.sh 后,你需要使用命令 ssh-keygen 生成密钥

在你的主目录中,转到 .ssh/id_rsa.pub 并将其复制到其他服务器的 /authorized_keys 文件中

相关内容