日志closures命令用法/消息

我想监视每当我们的机器运行关机命令,以便它可以发送电子邮件或通知即将重新启动/关机。 我想,当关机运行时,它可能将广播消息中继到syslog,但我没有看到它被存储在任何日志中。 有没有办法logging每当这个命令运行?

为了说明问题,运行shutdown命令的时候,我的意思是什么时候开始运行(或者什么时候它首先广播关于关机)而不是当系统关机实际开始的时候。 所以我想在发送这种types的消息的时候能够捕捉到:系统在5分钟内重新启动!

如果只想监视closures命令:

  • 你可以把它包装在发送邮件的shell脚本中
  • 你可以使用一个预先加载的库来logging像snoopy logger这样的命令
  • 你可以使用systemtap来logging所有的exec *()进行closures。

问题是如果有人按下重置button,你将没有logging。 为此,可靠的方法是在机器启动时进行logging。

请注意,最后一个日志是在机器启动时创build一个条目。

使用BMC / LOM / IPMI可以进行带外logging。 如果您的主板集成了BMC,或者您已将BMC安装为扩展卡,则可以使用此function。

您可以修改syslog.conf来捕获这些消息。

例如,如果你有标准的系统日志然后行

*.* /var/log/all.log 

存储所有消息。

如果你有rsyslog(例如现代的debian),你可以启动一些脚本(发送电子邮件等)的事件

我发现没有办法在关机时发送通知(在RedHat上)。 请记住:

  • 在关机期间发送的电子邮件可能保留在邮件队列中,直到系统重新联机
  • 在发生停电的情况下,停机时发生的任何动作都不会发生。 在这种情况下,你最好在启动过程中做一些事情。

但是你可以在启动时使用cron执行动作,使用@reboot“昵称” 。

因此,如果脚本/usr/local/bin/email-on-reboot.sh发送有关启动的电子邮件/通知,请将其添加到/etc/crontab

 @reboot /usr/local/bin/email-on-reboot.sh