我开始通过rsync进行备份到远程服务器。 这工作一切都很好,但40 GIG花费他们的时间,当我得到一个dynamic的IP每天都会中断。 所以每天早上醒来时我重新启动rsync(如果我不记得的话)。
我可以使用一个cronjob,但是我真的想在停止之后马上执行它。 有没有办法做到这一点?
#!/bin/bash while true do echo "your action (eg, rsync replacing this line)" #If clean exit, stop running if [[ $? == 0 ]] then break fi #speed throttling sleep 10 done
是的,每当rsync或任何命令停止或以错误的方式中断,它给出一个信号,不等于0(0意味着成功,否则错误)。
所以只需编写一个脚本,它检查命令退出状态并将其保存在文件中。 然后继续检查该文件,说5秒。 所以只要存在的状态变为非零,重新启动rsync并手动将0退出状态。继续前进。