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 回答