你好,有很多关于如何在本地 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 文件中