执行rsync从本地ssh到远程和copys到辅助远程

问题描述 投票:0回答:1

好的,所以我要做的是有一个脚本,我从本地(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"
bash ssh expect rsync
1个回答
0
投票

我建议你不要使用expect命令更好地创建从远程1服务器到远程2服务器的密码登录,然后设置一个自动执行的cron作业。

您可以参考以下链接,了解如何设置密码少登录:

https://www.tecmint.com/ssh-passwordless-login-using-ssh-keygen-in-5-easy-steps/

© www.soinside.com 2019 - 2024. All rights reserved.