rsync ssh sshpass 服务器1 服务器2

rsync ssh sshpass 服务器1 服务器2

我已经创建了 2 个服务器,新到 ssh sshpass s1 ip 192.168.1.245 s2 ip 192.168.1.76 想要将 s1>>/opt/files 中的文件复制到 s2>>/home/s2/backup

目的:在 cron 中放入 1 句话来执行自动 rsync

我有这些方法

1)使用 ssh rsa 密钥方法,genkey 并复制密钥,它可用于直接访问。不能满足我对 rsync 文件的需求,也许我做错了或遗漏了步骤,或者发出了错误的命令

2)尝试使用 SSHPASS 来存储密码,但仍然不起作用

3)SSH + SSHPASS 出现各种错误

以上3种方法是google使用SSH无密码和SSHPASS无密码

有哪位专家能给我提供一行命令或建议吗?

答案1

生成私钥时您可以将密码留空,如果这样做,稍后建立连接时将不会要求输入密码。

如果您可以建立无需密码的“直接访问”连接,只要您使用相同的用户(crontab -e),rsync 应该可以正常工作。如果您从 root crontab(/etc/crontab 或 /etc/cron.*)运行此命令,那么您还需要让 rsync/ssh 使用正确的身份,您可以使用以下命令执行此操作:

rsync -av -e "ssh -i /home/username/.ssh/id_rsa" /source/folder/ username@server:/destination/folder/

相关内容