平时在Linux做巡视时,都通过命令行来输入指令,比如df -k等等,但是对于多指令多任务来说,单个指令就显得不够效率。于是笔者想着有没有啥脚本可以自动完成这个任务呢?笔者以前的文章-sysstat性能监控工具,里面有系统监控工具 Sysstat,可以查看CPU使用率、硬盘和网络吞吐数据等等信息。但是这个也是命令行,并且也没有集合的脚本。带着问题,笔者想着自己写一个脚本来,但是想着检查项目还是不熟悉,于是在github上搜索一番,找到一款老外写的脚本,于是乎,clone下来测试一番。
南岔网站建设公司成都创新互联,南岔网站设计制作,有大型网站制作公司丰富经验。已为南岔1000+提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的南岔做网站的公司定做!
github真是太劲了。
开始clone脚本:
sudo git clone
进入目录: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[47;32m ------ OK/HEALTHY \e[0m"
WCOLOR="\e[43;31m ------ WARNING \e[0m"
CCOLOR="\e[47;31m ------ CRITICAL \e[0m"
以deepin linux为例,查看脚本是否运行,需要在系统监视器中查看。
具体的操作步骤和方法如下:
1、首先,单击deepin功能选项中的启动器,如下图所示。
2、其次,完成上述步骤后,单击启动器中的“系统管理”选项,如下图所示。
3、接着,完成上述步骤后,单击“系统管理”中的“系统监视器”图标,如下图所示。
4、最后,完成上述步骤后,就可以在“系统监视器”中检查运行状态,如下图所示。这样,问题就解决了。
在Linux
操作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是
Red
Hat
Package
Manager(简称RPM)。此工具包最先是由Red
Hat公司推出的,后来被其他Linux开发商所借用。由于它为Linux使用者省去了很多时间,所以被广泛应用于在Linux下安装、删除软件。下面就给大家介绍一下它的具体使用方法。
1.我们得到一个新软件,在安装之前,一般都要先查看一下这个软件包里有什么内容,假设这个文件是:Linux-1.4-6.i368.rpm,我们可以用这条命令查看:
rpm
-qpi
Linux-1.4-6.i368.rpm
系统将会列出这个软件包的详细资料,包括含有多少个文件、各文件名称、文件大小、创建时间、编译日期等信息。
2.上面列出的所有文件在安装时不一定全部安装,就像Windows下程序的安装方式分为典型、完全、自定义一样,Linux也会让你选择安装方式,此时我们可以用下面这条命令查看软件包将会在系统里安装哪些部分,以方便我们的选择:
rpm
-qpl
Linux-1.4-6.i368.rpm
3.
选择安装方式后,开始安装。我们可以用rpm-ivh
Linux-1.4-6.i368.rpm命令安装此软件。在安装过程中,若系统提示此软件已安装过或因其他原因无法继续安装,但若我们确实想执行安装命令,可以在
-ivh后加一参数“-replacepkgs”:
rpm
-ivh
-replacepkgs
Linux-1.4-6.i368.rpm
4.有时我们卸载某个安装过的软件,只需执行rpm-e
文件名;命令即可。
5.对低版本软件进行升级是提高其功能的好办法,这样可以省去我们卸载后再安装新软件的麻烦,要升级某个软件,只须执行如下命令:rpm
-uvh
文件名;,注意:此时的文件名必须是要升级软件的升级补丁
6.
另外一个安装软件的方法可谓是Linux的独到之处,同时也是RMP强大功能的一个表现:通过FTP站点直接在线安装软件。当找到含有你所需软件的站点并与此网站连接后,执行下面的命令即可实现在线安装,譬如在线安装Linux-1.4-6.i368.rpm,可以用命令:
rpm
-i
7.
在我们使用电脑过程中,难免会有误操作,若我们误删了几个文件而影响了系统的性能时,怎样查找到底少了哪些文件呢?RPM软件包提供了一个查找损坏文件的功能,执行此命令:rpm
-Va即可,Linux将为你列出所有损坏的文件。你可以通过Linux的安装光盘进行修复。
8.Linux系统中文件繁多,在使用过程中,难免会碰到我们不认识的文件,在Windows下我们可以用“开始/查找”菜单快速判断某个文件属于哪个文件夹,在Linux中,下面这条命令行可以帮助我们快速判定某个文件属于哪个软件包:
rpm
-qf
文件名;
9.当每个软件包安装在Linux系统后,安装文件都会到RPM数据库中“报到”,所以,我们要查询某个已安装软件的属性时,只需到此数据库中查找即可。注意:此时的查询命令不同于1和8介绍的查询,这种方法只适用于已安装过的软件包!命令格式:
rpm
-参数 文件名;