以下是从我的专用服务器获取的数据:
root@namhost [~]# last
root pts/0 XXX Tue May 18 09:46 still logged in
root pts/0 XXX Mon May 17 08:51 - 12:18 (03:26)
reboot system boot XXX Mon May 17 08:49 (1+00:59)
root pts/0 XXX Sun May 16 11:50 - 13:15 (01:25)
root@namhost [~]# last | grep "system boot"
reboot system boot 2.6.18-164.15.1. Mon May 17 08:49 (1+01:02)
reboot system boot 2.6.18-164.el5 Tue May 11 04:20 (7+05:31)
reboot system boot 2.6.18-164.el5 Tue May 11 03:53 (7+05:58)
reboot system boot 2.6.18-128.el5 Mon Oct 5 22:40 (-3:-50)
....
我需要一个可以每小时运行一次的脚本,它将:1. 计算自第一天以来的总停机时间 2. 总体停机时间百分比 3. 将此数据存储在 /home/bla/file.txt 文件中,格式如下:TotalDowntime=03:02:02 Average=0.01%
我该如何做呢?
答案1
如果您想弄清楚系统何时关闭(并且我不确定除了问题之外服务器为什么会关闭),您可以尝试以下操作(尽管我确信一定有更好的方法):
- 在某处创建一个文件夹来记录内容(可能是 /var/downtime_logs/)
- 创建一个 cronjob,每分钟触摸该文件夹中的一个文件
touch /var/downtown_logs/`date +%s`
(或$(date +%s)
使用避免使用反引号) - 然后计算该文件夹中的文件数量
- 如果你将第一个文件的日期与当前日期进行比较,这就是你保存统计数据的时间,你可以做一些计算来得到剩下的时间
我把这个留作社区维基,以便其他人参与并完成剩余部分
答案2
有停机以此目的。