千家信息网

如何生成Linux运行时间报告的Bash脚本

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,这篇文章主要介绍了如何生成Linux运行时间报告的Bash脚本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是 uptime 命令
千家信息网最后更新 2024年11月28日如何生成Linux运行时间报告的Bash脚本

这篇文章主要介绍了如何生成Linux运行时间报告的Bash脚本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

什么是 uptime 命令

uptime 命令将告诉你系统已经运行了多长时间。它在一行中显示以下信息:当前时间、系统运行了多长时间、当前登录了多少用户以及过去 1、5 和 15 分钟的平均系统负载。

什么是 tuptime?

tuptime 是用于报告系统的历史和统计运行时间的工具,可在重启之间保存。它类似于 uptime 命令,但输出更有趣。

1)检查 Linux 系统运行时间的 Bash 脚本

该 bash 脚本将收集所有服务器正常运行时间,并将报告发送到给定的电子邮箱地址。

请替换为你的电子邮箱地址,而不是用我们的,否则你将不会收到邮件。

# vi /opt/scripts/system-uptime-script.sh #!/bin/bash> /tmp/uptime-report.outfor host in cat /tmp/servers.txtdoecho -n "$host: "ssh $host uptime | awk '{print $3,$4}' | sed 's/,//'done | column -t >> /tmp/uptime-report.outcat /tmp/uptime-report.out | mail -s "Linux Servers Uptime Report" "2daygeek@gmail.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 192.168.1.5:          2      days192.168.1.6:          15     days192.168.1.7:          30     days192.168.1.8:          7      days192.168.1.9:          67     days192.168.1.10:         130    days192.168.1.11:         23     days

2)检查 Linux 系统是否运行了 30 天以上的 Bash 脚本

此 bash 脚本会收集运行 30 天以上的服务器,并将报告发送到指定的邮箱地址。你可以根据需要更改天数。

# vi /opt/scripts/system-uptime-script-1.sh #!/bin/bash> /tmp/uptime-report-1.out for host in cat /tmp/servers.txtdoecho -n "$host: "ssh $host uptime | awk '{print $3,$4}' | sed 's/,//'done | column -t >> /tmp/uptime-report-1.outcat /tmp/uptime-report-1.out | awk ' $2 >= 30' > /tmp/uptime-report-2.outcat /tmp/uptime-report-2.out | mail -s "Linux Servers Uptime Report" "2daygeek@gmail.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

注意: 你会在每天早上 7 点会收到一封电子邮件提醒,它是昨天的详情。

你将收到类似下面的报告。

# cat /tmp/uptime-report-2.out 192.168.1.7:          30     days192.168.1.9:          67     days192.168.1.10:         130    days

感谢你能够认真阅读完这篇文章,希望小编分享的"如何生成Linux运行时间报告的Bash脚本"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

0