我有一个名为 的服务manager
,它有时会自行更新(从某个网络位置)。如果在此更新期间发生错误,例如系统关闭,我想用已知工作的可执行文件替换错误的可执行文件。这导致我有两份新贵工作。
主要作业文件:
exec /usr/local/bin/manager
start on startup
respawn
看门狗作业文件:
start on stopping manager PROCESS="respawn"
script
WATCHED="manager"
EXE="/usr/local/bin/$WATCHED"
cp /usr/local/var/"$WATCHED".bk $EXE
chmod +x $EXE
start $WATCHED
end script
2个问题:
这是一个很好的方法吗……可以改进吗?
有没有一种方法可以在一个作业文件中完成所有这些工作?