我正在使用 svcadm 来保持我的 node.js 服务器在 Illumos 上运行,如果 svcadm 由于崩溃而重新启动服务器,是否有办法收到通知?特别是如果该进程自行关闭而不是在我重新启动它时。
我想要运行一个脚本,以便我可以发送电子邮件或发出警报。
每个服务都有自己的日志。您可以通过执行以下操作来检查您的服务的日志是什么,例如我正在使用 ssh:
#svcs -xv ssh
svc:/network/ssh:default (SSH server)
State: online since Tue Nov 27 11:38:34 2012
See: man -M /usr/share/man -s 1M sshd
See: /var/svc/log/network-ssh:default.log
Impact: None.
Run Code Online (Sandbox Code Playgroud)
现在您可以拥有自己的脚本(假设在 crontab 中)来检查日志文件上的更改。第二种方式,我想这实际上是最好的一种,您可以更改启动脚本,无论何时启动,它都会自动向您发送一封电子邮件。
要找出启动脚本所在的位置:
svccfg -s svc:/network/ssh
listprop
...
start/exec astring "/lib/svc/method/sshd start
...
Run Code Online (Sandbox Code Playgroud)
现在只需编辑脚本,在启动之前您可以放置自动邮件通知
vi /lib/svc/method/sshd
Run Code Online (Sandbox Code Playgroud)
搜索函数 start 并添加如下内容:
echo "Service ssh has been restarted!" |mailx -s "SSHD" user@mailbox
Run Code Online (Sandbox Code Playgroud)
现在只需更新以匹配您的环境和服务。不漂亮但有效。
归档时间: |
|
查看次数: |
2296 次 |
最近记录: |