前提・実現したいこと
一度別のサーバーにSSHで繋いでからrsyncを使ってバックアップを取りたいです。
コード
#!/bin/sh PW="pass" expect -c " set timeout 10 spawn env LANG=C /usr/bin/ssh root@192.168.1.75 expect \"password:\" send \"${PW}\n\" spawn env LANG=C /usr/bin/rsync -av -e ssh root@192.168.1.74:/tmp /root/ expect \"password:\" send \"${PW}\n\" expect \"$\" exit 0 "
実行結果
spawn env LANG=C /usr/bin/ssh root@192.168.1.75 root@192.168.1.75's password: spawn env LANG=C /usr/bin/rsync -av -e ssh root@192.168.1.74:/tmp /root/ root@192.168.1.74's password: receiving incremental file list tmp/ sent 47 bytes received 1,171 bytes 2,436.00 bytes/sec total size is 1,672 speedup is 1.37
一見うまくいったように見えるのですが、実際のrootフォルダーには何もコピーされません。
手動でSSHで繋いでrsyncでやれば問題ないのですが、shellにするとうまくいかないです…
何か解決策ありますか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/27 11:38
2021/04/28 00:55
2021/04/28 15:24