检测自上次在 L​​inux 上的 shell 脚本中运行以来的重启?

kdt*_*kdt 6 linux uptime

从 shell 脚本判断主机是否自上次运行脚本以来重新启动的最佳方法是什么?我可以考虑在每次运行时将正常运行时间存储在一个文件中,并检查它是否减少了,但这似乎并不完全可靠(服务器可能会快速重新启动,存储较低的正常运行时间,然后缓慢重新启动并提出一个更高的正常运行时间)。

是否有诸如“开始于”值之类的东西可以保证仅在重新启动时更改?或者其他检测重启的好方法?

Bre*_*ong 11

如果不想使用 cron,也可以在/dev/shm. 由于该位置在内存中,因此在计算机启动时它将始终为空。如果它不为空,则您还没有重新启动。


use*_*517 5

  • 在系统启动时在某处创建一个目录。
  • 当您的脚本运行时,如果目录存在,则系统已重新启动,否则不会。
  • 获取脚本以删除目录。

使用@reboot/etc/ crontab 中的指令在系统启动时创建目录。


Suk*_*uku 2

sar命令将在这方面帮助你。

http://linux.die.net/man/1/sar