Linux健康检查脚本health-check-script

Linux健康检查脚本health-check-script,第1张

    平时在Linux做巡视时,都通过命令行来输入指令,比如df -k等等,但是对于多指令多任务来说,单个指令就显得不够效率。于是笔者想着有没有啥脚本可以自动完成这个任务呢?笔者以前的文章-sysstat性能监控工具,里面有系统监控工具 Sysstat,可以查看CPU使用率、硬盘和网络吞吐数据等等信息。但是这个也是命令行,并且也没有集合的脚本。带着问题,笔者想着自己写一个脚本来,但是想着检查项目还是不熟悉,于是在github上搜索一番,找到一款老外写的脚本,于是乎,clone下来测试一番。

    github真是太劲了。

    开始clone脚本:

    sudo  git clone  https://github.com/SimplyLinuxFAQ/health-check-script.git

    进入目录:cd health-check-script/

    由于health-check.sh文件没有执行权限,需要加上可执行权限sudo chmod +x health-check.sh,然后执行./health-check.sh。

    脚本大概分为几个部分,现罗列其中的几个。

1、 系统基本信息

    脚本写的非常好,比如查看hostname,即/etc/hostname文件里面的内容。整个指令结构显示看hostname -f是否执行成功,然后hostname -f或者hostname -s,也就是 long host name或者 short host name。 &&为与, ||时或。

hostname -f &>/dev/null &&printf "Hostname : $(hostname -f)" || printf "Hostname : $(hostname -s)"

2、 磁盘Disk Usage

FS_USAGE=$(df -PThl -x tmpfs -x iso9660 -x devtmpfs -x squashfs|awk '!seen[$1]++'|sort -k6n|tail -n +2)

3、负载率uptime

echo -e "Current Load Average : $(uptime|grep -o "load average.*"|awk '{print $3" " $4" " $5}')"

4、三次重启事件

last -x 2> /dev/null|grep reboot 1> /dev/null && /usr/bin/last -x 2> /dev/null|grep reboot|head -3 || \

5、三次关机事件

last -x 2> /dev/null|grep shutdown 1> /dev/null && /usr/bin/last -x 2> /dev/null|grep shutdown|head -3 || \

6、占用cpu最高的进程

ps -eo pcpu,pid,ppid,user,stat,args --sort=-pcpu|grep -v $$|head -6|sed 's/$/\n/'

7、占用内存最高的进程

ps -eo pmem,pid,ppid,user,stat,args --sort=-pmem|grep -v $$|head -6|sed 's/$/\n/'

    这个脚本关注点在系统信息、磁盘、内存、进程信息,没有打印网络状态,需要监控的进程等等信息,可以使用指令iostat、ps -ef | grep your_process。在局域网中,如果循环可以读取/etc/hosts文件内容,按照ip来远程到linux主机ssh ip_addrsss,执行脚本内容来检查整个服务器的信息。

    最后看一下测试效果,检查结果正常的话,会有颜色提示的,这也是笔者才知道shell可以设置颜色的。开始位是\e[  , 结束位是\e[0m  ,第一个数字代表字体颜色,第二个数字代表底色,当然还可以有其他下划线等等特殊效果。

GCOLOR="\e[4732m ------ OK/HEALTHY \e[0m"

WCOLOR="\e[4331m ------ WARNING \e[0m"

CCOLOR="\e[4731m ------ CRITICAL \e[0m"

您好,以deepin linux为例,查看脚本是否运行,需要在系统监视器中查看。

具体的 *** 作步骤和方法如下:

1、首先,单击deepin功能选项中的启动器,

2、其次,完成上述步骤后,单击启动器中的“系统管理”选项,

3、接着,完成上述步骤后,单击“系统管理”中的“系统监视器”图标,

4、最后,完成上述步骤后,就可以在“系统监视器”中检查运行状态,这样,问题就解决了。

方法/步骤

1

如何知道当前的shell,参看下面的图片中的命令。

2

这是bash源文件resource的内容和存放路径

3

命令ls中使用大F列出哪些是目录哪些是文件

4

这里的backslash符号,也就是反斜杠符号是换行续写的意思

5

这里使用backslash符号连续输出2个目录下的内容

分号分隔符号的意思是,执行完成第一个命令然后才开始执行第二个命令。

可以在输入命令行时,按下tab键执行命令行自动补齐

这里介绍emacs编辑器,也就是在命令行中输入命令时使用的编辑器

在命令行编辑时光标cursor的back和forward

按下control加小写的L将清除屏幕,并把当前行移动到屏幕的top位置

全局command编辑器配置

inputrc文件的内容

制定用户的command行编辑工具

用命令bind的v选项看keyboard的bindings类型

这个是substitution命令,先执行,然后将输出传递给前面一个command,这里不是单引号,是~键上的符号


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8466889.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存