выполнение rsync с локального, что ssh на удаленный и копирует на вторичный удаленный - PullRequest
0 голосов
/ 17 сентября 2018

Хорошо, так что я пытаюсь сделать, это иметь скрипт (ы), которые я выполняю из local (1), который ssh ​​в remote (1) и rsync / path / to / file to remote (2) / path /в / файл

#!/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"

1 Ответ

0 голосов
/ 17 сентября 2018

Я бы посоветовал вам вместо использования команды ожидаем лучше создать пароль без логина с удаленного сервера 1 на удаленный сервер 2, а затем настроить задачу cron, которая будет делать это автоматически.

Вы можете обратиться к этой ссылке ниже, чтобы узнать, как настроить пароль без логина:

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

...