出于某些目的,您可能需要每月一次收集Linux系统正常运行时间报告。如果是这样,则可以根据需要使用以下bash脚本之一。
我们为什么要收集这份报告? 在一段时间后重新启动Linux服务器是解决某些未解决问题的好习惯。建议每180天重新启动一次。但是,根据您公司的政策,此期限可能会有所不同。如果您已经长时间运行服务器而没有重新启动,这可能导致服务器上出现一些性能问题或内存问题,我在许多服务器上都注意到了这一点。 这些脚本可在一处提供所有系统正常运行时间报告。
什么是正常运行时间命令 uptime命令将告诉您系统已经运行了多长时间,它以一行的形式显示以下信息。 当前时间,系统运行了多长时间,当前登录了多少用户以及过去1、5和15分钟的平均系统负载。 参考:uptime命令_Linux uptime命令使用详解:查看Linux系统负载信息。
什么是tuptime Tuptime是一个用于报告系统的历史和统计运行时间的工具,可以在重新启动之间进行记录,类似于uptime命令,但输出更多的信息。
1)Bash脚本检查Linux系统正常运行时间 该bash脚本将收集所有服务器正常运行时间,并将报告发送到给定的电子邮件ID。 请替换您的电子邮件ID,而不是我们的电子邮件ID,否则您将不会收到邮件: # vi /opt/scripts/system-uptime-script.sh #!/bin/bash > /tmp/uptime-report.out for host in cat /tmp/servers.txt do echo -n "$host: " ssh $host uptime | awk '{print $3,$4}' | sed 's/,//' done | column -t >> /tmp/uptime-report.out cat /tmp/uptime-report.out | mail -s "Linux Servers Uptime Report" "ywnz@163.com" 将可执行权限设置为“system-uptime-script.sh”文件: $ chmod +x /opt/scripts/system-uptime-script.sh 最后运行bash脚本以获取输出: # sh /opt/scripts/system-uptime-script.sh 您将收到类似以下的报告: # cat /tmp/uptime-report.out
2)Bash脚本检查Linux系统是否运行了30天以上 此bash脚本收集运行30天以上的服务器,并将报告发送到给定的电子邮件ID,您可以根据需要更改日期: # vi /opt/scripts/system-uptime-script-1.sh #!/bin/bash > /tmp/uptime-report-1.out for host in cat /tmp/servers.txt do echo -n "$host: " ssh $host uptime | awk '{print $3,$4}' | sed 's/,//' done | column -t >> /tmp/uptime-report-1.out cat /tmp/uptime-report-1.out | awk ' $2 >= 30' > /tmp/uptime-report-2.out cat /tmp/uptime-report-2.out | mail -s "Linux Servers Uptime Report" "ywnz@163.com" 为“system-uptime-script-1.sh”文件设置可执行权限: $ chmod +x /opt/scripts/system-uptime-script-1.sh 最后添加一个cronjob以使其自动化,它每天早上7点运行: # crontab -e 0 7 * * * /bin/bash /opt/scripts/system-uptime-script-1.sh 参考:在Linux系统下使用Crontab UI安全管理Cron定时任务。 注意:您每天早上7点会收到一封电子邮件提醒,其中包含昨天的日期详细信息。 您将收到类似以下的报告: # cat /tmp/uptime-report-2.out
相关主题 |