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

2023-11-01

出于一些原因,你可能需要每月收集一次 Linux 系统运行时间报告。

-- Magesh Maruthamuthu

 

出于一些原因,你可能需要每月收集一次 Linux 系统运行时间报告。如果是这样,你可以根据需要使用以下 bash 脚本 之一。

我们为什么要收集这份报告?在一段时间后重启 Linux 服务器是解决某些未解决问题的好方法。(LCTT 译注:本文这些观点值得商榷,很多服务器可以稳定运行几千天,尤其是有了内核热补丁之后,启动并不是必须的。)

建议每 180 天重新启动一次。但时间段也许取决于你公司的政策。如果你已经长时间运行服务器而没有重启。这可能导致服务器上出现一些性能或内存问题,我在许多服务器上都注意到了这一点。

这些脚本一次性提供了所有系统运行报告。

什么是 uptime 命令

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

什么是 tuptime?

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

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

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

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

 
  1. # vi /opt/scripts/system-uptime-script.sh

  2.  
  3. #!/bin/bash

  4. > /tmp/uptime-report.out

  5. for host in cat /tmp/servers.txt

  6. do

  7. echo -n "$host: "

  8. ssh $host uptime | awk '{print $3,$4}' | sed 's/,//'

  9. done | column -t >> /tmp/uptime-report.out

  10. cat /tmp/uptime-report.out | mail -s "Linux Servers Uptime Report" "2daygeek@gmail.com"

给 system-uptime-script.sh 设置可执行权限。

 
  1. $ chmod +x /opt/scripts/system-uptime-script.sh

最后运行 bash 脚本获取输出。

 
  1. # sh /opt/scripts/system-uptime-script.sh

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

 
  1. # cat /tmp/uptime-report.out

  2.  
  3. 192.168.1.5: 2 days

  4. 192.168.1.6: 15 days

  5. 192.168.1.7: 30 days

  6. 192.168.1.8: 7 days

  7. 192.168.1.9: 67 days

  8. 192.168.1.10: 130 days

  9. 192.168.1.11: 23 days

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

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

 
  1. # vi /opt/scripts/system-uptime-script-1.sh

  2.  
  3. #!/bin/bash

  4. > /tmp/uptime-report-1.out

  5. for host in cat /tmp/servers.txt

  6. do

  7. echo -n "$host: "

  8. ssh $host uptime | awk '{print $3,$4}' | sed 's/,//'

  9. done | column -t >> /tmp/uptime-report-1.out

  10. cat /tmp/uptime-report-1.out | awk ' $2 >= 30' > /tmp/uptime-report-2.out

  11. cat /tmp/uptime-report-2.out | mail -s "Linux Servers Uptime Report" "2daygeek@gmail.com"

给 system-uptime-script-1.sh 设置可执行权限。

 
  1. $ chmod +x /opt/scripts/system-uptime-script-1.sh

最后添加一条 cronjob 来自动执行。它会在每天早上 7 点运行。

 
  1. # crontab -e

  2.  
  3. 0 7 * * * /bin/bash /opt/scripts/system-uptime-script-1.sh

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

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

 
  1. # cat /tmp/uptime-report-2.out

  2.  
  3. 192.168.1.7: 30 days

  4. 192.168.1.9: 67 days

  5. 192.168.1.10: 130 days


via: https://www.2daygeek.com/bash-script-generate-linux-system-uptime-reports/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

生成 Linux 运行时间报告的 Bash 脚本 的相关文章

  • pbft为什么需要2f+1

    将阵营分为两拨 好节点阵营 坏节点阵营 现在坏节点阵营想要误导好节点 让其误以为已经有足够人数发出了投票 并且发生分歧 如何做 假设最极端情况 好节点被等分为两拨A B 坏节点加上任意一个阵营的人数都能达到足够人数达成投票 那坏节点就可以发
  • 法律逻辑学

    法律与逻辑的关系 1 法学离不开逻辑 逻辑是法学的基础 无论立法 司法 法治的实现 还是法学研究 法律教学都离不开逻辑 理性思维与非理性思维的最根本区别是思维是否具有逻辑性 思维逻辑性 就是思维活动遵循逻辑规律 正确地运用概念 恰当地做出判
  • linux echo

    linux echo功能说明 显示文字 语 法 echo ne 字符串 或 echo help version 补充说明 echo会将输入的字符串送往标准输出 输出的字符串间以空白字符隔开 并在最后加上换行号 参 数 n 不要在最后自动换行
  • 微信小程序自定义车牌输入组件(结合Weui)

    文章目录 概要 描述 效果 组件代码 引入 概要 我们都知道车牌是有一定规律的 本文实现了微信小程序中实现车牌输入功能 具有一定的参考价值 感兴趣的小伙伴们可以参考一下 描述 近期做了一个和车有关的小程序项目 有车肯定就有车牌 我们都知道车
  • 痞子衡嵌入式:盘点国内车规级MCU厂商

    大家好 我是痞子衡 是正经搞技术的痞子 今天痞子衡给大家介绍的是国内车规级MCU厂商及其产品 在汽车电子领域 MCU的应用非常广泛 大到车身控制与动力总成 小到雨刷车窗等控制单元 都离不开MCU的身影 但汽车领域产品必须要是高可靠 高安全的
  • L1-058 6翻了 (15 分)

    6翻了 思维错误原因以及正确思路的来源 确实是一趟循环遍历下来 但是对于 6 们的处理不太到位 单纯的用一次的if else 只是单纯的对字符串中每一个字符做处理 而我们这里需要统计连在一起的 6 们的个数 以及将他们整体替换掉 也就是说此
  • Dream------Hadoop--FSDataInputStream和FSDataOutputStream

    一 FSDataInputStream FileSystem中的open 方法实际上返回的是一个FSDataInputStream 而不是标准的java io类 这个类是java io DataInputStream 的一个子类 支持随机访
  • 1699 个词汇 的 计算机英语

    file n 文件 v 保存文件 command n 命令 指令 use v 使用 用途 program n 程序 line n 数据 程序 行 线路 display vt 显示 显示器 set v 设置 n 集合 key n 键 关键字
  • LayUi之树形结构的详解(附有全案例代码)

    Welcome Huihui s Code World 接下来看看由辉辉所写的关于LayUi的相关操作吧 目录 Welcome Huihui s Code World 一 什么是树形结构 二 树形结构在什么时候使用 常见使用场景 三 怎么完

随机推荐

  • mac 命令行 复制目录_从命令行复制目录

    mac 命令行 复制目录 Copying a directory for the sake of backup is something I do often especially when I m trying to figure out
  • 把token放入请求头

    1 jq 2 vue js 转载于 https www cnblogs com xiaobiaomei p 10917331 html
  • Python篇----Requests获取网页源码(爬虫基础)

    1 下载与安装 见其他教程 2 Requsts简介 Requests is an Apache2 Licensed HTTP library written inPython for human beings Python s standa
  • SQLServer查看各个表大小

    SQLServer查看各个表大小 SQLServer查看各个表大小 declare id int declare type character 2 declare pages int declare dbname sysname decla
  • Day83-面试前,先自己模拟下这 10 个问题

    不管是应届生还是社招生 相信你都经历过面试的摧残 面对咄咄逼人的面试官 面对随处可见的问题陷阱 我们应该如何面对 看完这边文章 相信你一定会有收获 Q1 请你先自我介绍下 回答技巧 回答尽量简短 控制在1 2分钟内 先简单的介绍一下自己 说
  • OAuth使用教程(一):初识OAuth

    一 OAuth介绍 OAuth 开放授权 是一个开放标准 允许用户授权第三方移动应用访问他们存储在另外的服务提供者上的信息 而不需要将用户名和密码提供给第三方移动应用或分享他们数据的所有内容 OAuth允许用户提供一个令牌给第三方网站 一个
  • mmdetection3d 源码学习 mvxnet(多模态融合)

    mmdetection3d 源码学习 mvxnet 多模态融合 配置文件 dv mvx fpn second secfpn adamw 2x8 80e kitti 3d 3class py 模型 model settings voxel s
  • 餐饮便利店服装店线下零售场景都有刷脸支付需求

    此前 支付宝已经开始打通江浙沪数个城市之间的二维码乘车 前几天也在北欧促成了两大移动支付APP的互通 如今刷脸支付还未普及 但是刷脸支付的前景可谓一片大好 未来包括超市 便利店 药房 服装店等等的众多线下零售场景都会有刷脸支付的需求 常见蜻
  • MySQL之Innodb锁机制:Next-Key Lock 浅谈

    阅读 InnoDB存储引擎 第六章涉及锁的三种算法 整理结合转载文档 https www cnblogs com zhoujinyi p 3435982 html 数据库使用锁是为了支持更好的并发 提供数据的完整性和一致性 InnoDB是一
  • 6个步骤,告诉你如何用树莓派和机器学习DIY一个车牌识别器!(附详细分析)...

    作者 Robert Lucian Chiriac 翻译 天道酬勤 编辑 Carol 出品 AI科技大本营 ID rgznai100 几个月前 作者开始考虑让汽车能够具备检测和识别物体的能力 他很喜欢这个主意 因为已经见识到了特斯拉的能力 并
  • (渗透学习)理解java反序列化漏洞原理---层序渐进

    没真正学过java 对很多概念理解的不清晰 所以下面所有都是参考资料结合我自己的理解 可能存在错误 1 为什么要序列化 因为只有字节数据才能进行存储和传输 所以为了使对象 如class类 能够存储 传输 就需要将对象转成字节的形式 存储 把
  • tomcat显示启动成功,访问不了

    问题阐述 解压tomcat成功之后 发现访问不了 问题分析 1 开通了防火墙 但是没有放开8080端口号 查看防火墙状态 firewall cmd state 显示running表示防火墙是开启状态 执行放开8080端口的命令 firewa
  • 三个月后,快手To B怎么样了?

    未来 如何独立作战和走出快手的TOC 客户资源圈 或将成为快手TOB新的十字路口 作者 斗斗 编辑 皮爷 出品 产业家 人口红利终结 流量红利终结 超常规的高速增长终结 TOC模式的路越来越难走了 快手与抖音作为短视频行业 的两大巨头 主要
  • Linux下的TCP通信

    Linux下的TCP通信 今天我们介绍如何编写Linux下的TCP程序 关于UDP程序可以参考这里 http blog csdn net htttw article details 7519971 本文绝大部分是参考 Linux程序设计 第
  • Java算法给定一个整数数组,找出其中两个数相加等于目标值

    给定一个整数数组 找出其中两个数相加等于目标值 例如 给定数组及目标值 nums 2 7 11 15 target 9 因为nums 0 nums 1 2 7 9 返回 0 1 使用辅助空间 使用哈希表 时间复杂度是O n 空间复杂度 O
  • 半监督目标检测yolo+FixMatch

    目前实验发票印章检测 只需1张训练集即可达到0 921 mAP 5 如果用31张训练集可达到0 952 mAP 5 无标签数据均使用600张 待填坑 敬请期待
  • tkinter窗口切换

    方法1 按钮 Frame 步骤 1 1创建主桌面 import tkinter as tk root tk Tk 1 2 创建不同的Frame 相当于不同的桌布 分别用来创建不同的窗口 face1 tk Frame root face2 t
  • Java面试官最爱问的volatile关键字

    在Java的面试当中 面试官最爱问的就是volatile关键字相关的问题 经过多次面试之后 你是否思考过 为什么他们那么爱问volatile关键字相关的问题 而对于你 如果作为面试官 是否也会考虑采用volatile关键字作为切入点呢 为什
  • 如何建立chrony服务器

    Chrony由两个程序组成 分别是chronyd和chronyc chronyd是一个后台运行的守护进程 用于调整内核中运行的系统时钟和时钟服务器同步 它确定计算机增减时间的比率 并对此进行补偿 chronyc提供了一个用户界面 用于监控性
  • 生成 Linux 运行时间报告的 Bash 脚本

    出于一些原因 你可能需要每月收集一次 Linux 系统运行时间报告 Magesh Maruthamuthu 出于一些原因 你可能需要每月收集一次 Linux 系统运行时间报告 如果是这样 你可以根据需要使用以下 bash 脚本 之一 我们为