linux系统健康检查脚本
- #!/bin/bash
- echo "You are logged in as `whoami`";
- if [ `whoami` != root ]; then
- echo "Must be logged on as root to run this script."
- exit
- fi
- CHECK_DATE=`date +%F`
- echo "Running script at `date`"
- CHECK_REPORT_PATH=/tmp/getinfo
- ls -d $CHECK_REPORT_PATH
- if [ $? -gt 0 ]
- then
- mkdir $CHECK_REPORT_PATH
- fi
- chmod -R 777 $CHECK_REPORT_PATH
- CURRENT_DIR=`pwd`
- echo "#################### Check Start ####################"
- HOST=`hostname`
- echo "********Hostname Check**********" >$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo "Hostname is $HOSTNAME" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- #系统版本检查
- echo "********OS Level**********" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- uname -a >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- #系统日志检查
- echo "********System log*******" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- cat /var/log/messages >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- #检查软件安装情况
- echo "********Yum*******" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- history | grep yum && history | grep rpm >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- #文件系统检查
- echo "********File System**********" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- df -h >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo "over 75%" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- df -h |grep '[7-9][5-9]%'>>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- #网络地址配置信息
- echo "********System /etc/hosts********" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- cat /etc/hosts >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- #查看内存使用情况
- echo "**********mem check************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- free >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- vmstat >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- #查看磁盘读写情况
- echo "********io check**********" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- iostat >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- #网络检查
- echo "********network route check**********" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- netstat -rn >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo "********network check**********" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- ifconfig -a >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- #环境变量检查
- echo "********env info****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- env >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- #用户组检查
- echo "********group info****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- cat /etc/group >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- #用户密码检查
- echo "********user info****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- cat /etc/passwd >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- #检查操作系统定时任务
- echo "********System crontab info****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- crontab -l >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- #检查系统裸设备属主
- echo "******** RAW****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- ls -l /dev/sd* >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- #检查关机重启
- echo "********REBOOT****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- last | grep reboot && last | grep shutdown >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- #登录用户检查及远程登录
- echo "********USER****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- who && who | wc -l >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- netstat -anp | grep 22 >> $CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- #系统运行时间及平均负载
- echo "********Uptime****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- uptime >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- #检查系统占用cpu,内存,磁盘io最大的进程
- echo "********Dstat cpu****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- dstat -c -y -l --proc-count --top-cpu 2 3 >> $CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo "********Dstat mem****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- dstat -g -l -m -s --top-mem 2 3 >> $CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo "********Dstat io****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- dstat --top-io 2 3 >> $CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- #进程总数
- echo "********Dstat proc****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- dstat --proc-count 3 3 >> $CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- #检查selinux
- echo "********SELINUX****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
- getenforce >> $CHECK_REPORT_PATH/Report_$CHECK_DATE
- echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
#检查用户错误登录次数
echo "********LOGIN****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
pam_tally2 -u readonly #pam_tally2 -u readonly -r 重置用户错误登录次数
echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
linux系统健康检查脚本的更多相关文章
- Oracle SQL 调优健康检查脚本
Oracle SQL 调优健康检查脚本 我们关注数据库系统的性能,进行数据库调优的主要工作就是进行SQL的优化.良好的数据架构设计.配合应用系统中间件和写一手漂亮的SQL,是未来系统上线后不出现致命性 ...
- linux安全配置检查脚本_v0.5
看到网上有人分享了一些linux系统的基线检查脚本,但有些检查项未必适合自己或者说检查的不够完善, 计划按着自己的需求重新写一份出来,其中脚本的检查范围在不断更新中. 脚本内容: [root@loca ...
- Script:SQL调优健康检查脚本
Script:SQL调优健康检查脚本 http://www.askmaclean.com/archives/sql-tuning-health-check-script.html 以下脚本可以用于收集 ...
- lvs健康检查脚本第三版
如下是学习完马哥视频lvs后改写的健康检查脚本第三版.利用工作之余三四个小时时间才把整个逻辑搞清楚,有时候自己都有点蒙圈,尤其是在写到while循环的时候.总的来说非常感谢马哥的慷慨解囊!脚本原稿及思 ...
- 红帽linux系统开机自启动脚本。
其实很多东西在最后完成以后会觉得也就那样,有意思的是探究的过程. 前段时间老板要求把一个程序做成linux系统开机自启动脚本的模式. 首先你需要写一个脚本. 我这边建立了一个.sh的脚本,就是用脚本启 ...
- linux安全配置检查脚本_v0.8
脚本环境:RHEL6.* 脚本说明:该脚本作用为纯执行检测不涉及更改配置等操作,与直接上来就改安全配置等基线脚本相比相对安全一些.虽然如此,在你执行该脚本之前仍然建议你备份或快照一下目标系统. 代码部 ...
- Linux安全基线检查脚本
基线检查内容: 一:共享账号检查 配置名称:用户账号分配检查,避免共享账号存在配置要求:1.系统需按照实际用户分配账号; 2.避免不同用户间共享账号,避免用户账号和服务器间通信使用的账号共享.操作指南 ...
- linux系统带宽监测脚本
服务器可能经常遇到服务器出带宽跑满,不知如何查询被哪个进程占用的情况,有一款开源的英文软件iftop功能比较强大可以查询相关信息,可能刚接触linux系统的朋友不太会使用,在此写了一个功能比较简单无需 ...
- 在linux系统下检查postgresql数据库安装,登录数据库及简单的查看数据库
1. 检查Linux系统是否安装数据库 首先查看自己的系统是否安装了postgresql数据库命令如下: rpm -qa | grep postgresql 如果没有显示查询结果(如下图所示)说 ...
随机推荐
- 图数据库|基于 Nebula Graph 的 BetweennessCentrality 算法
本文首发于 Nebula Graph Community 公众号 在图论中,介数(Betweenness)反应节点在整个网络中的作用和影响力.而本文主要介绍如何基于 Nebula Graph 图数据 ...
- 「Python实用秘技07」pandas中鲜为人知的隐藏排序技巧
本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills 这是我的系列文章「Python实用秘技」的第7期 ...
- MKL与VS2019配置方法
VS2019配置oneAPI并调用MKL库 oneAPI oneAPI是一个跨架构的编程工具,旨在简化跨GPU.CPU.FPGA和AI加速器之间的编程,可以与英特尔自身设备,或其他厂商的芯片配合使用, ...
- 斯坦福NLP课程 | 第1讲 - NLP介绍与词向量初步
作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/36 本文地址:http://www. ...
- vue 常见指令
vue 常见的指令 v-bind:单向绑定解析表达式可简写为 :xxxx v-model: 双向数据绑定 v-for : 遍历数组/对象/字符串 v-on :绑定事件监听,.可简写为@ v-if : ...
- Vue报错: Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'protocol')
Vue报错: Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'protocol') 报错信 ...
- idea的快捷键(复制) IntelliJ Idea 常用快捷键列表
Ctrl+Shift + Enter,语句完成'!',否定完成,输入表达式时按 "!"键 Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可 ...
- 思科,华为l2tp组网,家庭宽带,公司内网数据分离
拓扑 简介 办公网使用专线接入,拥有固定IP地址,网络出口使用防火墙做NAT,下联交换机接入服务器,办公电脑等,旁挂思科路由器做L2TP LNS 家庭宽带使用ADSL线路,华为路由器做拨号设备与DHC ...
- zabbix-agent python脚本侦听服务器异常登录,并告警
py脚本 import re,subprocess,time,datetime #gpasswd -a zabbix adm def ftime(a): a = a.replace('Jan','01 ...
- spring boot redis 写入异常
redis 的 key value 使用 json 序列化.反序列化时,写入的 bean 不能是 final 类型的类,否则无法解析