好的,所以我要做的是有一个脚本,我从本地(1)执行ssh到远程(1)和rsync /路径/到/文件到远程(2)/路径/到/文件
#!/usr/bin/expect
set oldIP "[lrange $argv 0 0]"
set newIP "[lrange $argv 1 1]"
set password "123..."
set admin "User"
set host localhost
spawn ssh '$admin'@'$oldIP'
expect -exact "Password: "
sleep 3
send -- "$password\r"
expect -exact "$host:~ user# "
send -- "rsync -azvH --numeric-ids -W --force /path/ '$newIP':/path/"
expect -exact "Password: "
sleep 3
send -- "$password\r"
sleep 1
send -- quit\n"
我建议你不要使用expect命令更好地创建从远程1服务器到远程2服务器的密码登录,然后设置一个自动执行的cron作业。
您可以参考以下链接,了解如何设置密码少登录:
https://www.tecmint.com/ssh-passwordless-login-using-ssh-keygen-in-5-easy-steps/