从服务器重新生成脚本中获取服务器崩溃的输出

时间:2019-01-14 23:34:24

标签: bash logging process restart

我目前在树莓派上设置了Homebridge。当pi启动时,它将启动一个脚本,以尝试使homebridge保持活动状态。我最初是从this答案中获取脚本的,它引导您完成创建此类脚本的相当琐碎的过程。但是,我对脚本进行了一些修改,现在看起来像这样:

until "homebridge" -s /bin/sh pi; do
    echo "Server homebridge crashed with exit code $?.  Respawning.." >&2
    echo "Looks like Homebridge just crashed, restarting it now..." | mail -s "Homebridge Crash" pi
    rm -r /home/pi/.homebridge/accessories/cachedAccessories
    sleep 1
done

它实际上与原始脚本相同,除了它删除文件夹并在重新生成之前等待一秒钟。此外,它还会向我的用户(pi)发送一些邮件,以通知我该进程已终止并且正在重新生成。只需进行任何调试即可,而对我来说,这一直非常有效。我的意思是,虽然我确实收到该进程已终止的通知,但是当该进程终止时,不会向我显示该进程的输出。如果邮件可以包含例如进程退出之前的最后300行以帮助崩溃后进行调试,那将是完美的选择

为了接收homebridge输出崩溃之前的内容的“日志”,我需要在上面的脚本中添加什么内容以帮助调试?

预先感谢您的帮助,

Rocco,问候

0 个答案:

没有答案