1

リモート バックアップ用の bash ファイルを作成する必要があります。リモート マシンがダウンしている場合、リマインダーをメールで送信したいと考えています。したがって、このスクリプトでは、リモート マシンで ssh がオンになっているかどうかをテストする必要があります。オンになっている場合はバックアップを行い、そうでない場合はメールを送信します。

sshpass -p pass ssh -l root $host
this give me connection timed out if remote machine is down and ok wheen it is online

1condition, do it when machine is on
.....rsync backup....

2condition, do it wheen machine is down
...sending mail....
4

1 に答える 1

1

これを複雑にしすぎていると思います。あなたが本当に気にかけているのはバックアップであり、バックアップが成功するか失敗するかです。

これを試して:

rsync -avz /local/path root@$host:/remote/path || echo "failed" | mail -s "Backup failed" username@machine

重要な部分は、コマンドの終了コードが何らかの理由で失敗を示し||ている場合に、行の残りを実行することです。rsync

于 2012-06-28T00:36:58.067 に答える