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 如果没有显示查询结果(如下图所示)说 ...
随机推荐
- ArcGIS使用技巧(六)——数据视图
新手,若有错误还请指正! 有的时候出图时有很多图层,且范围很大,而出图的范围是大范围的一个部分,当然,可以对各个图层进行裁剪,但是比较麻烦,这里介绍一个比较简单的小技巧. 类似于图1,出图的时候只想显 ...
- 2022.02.21 SA
2022.02.21 SA 当我年少轻狂时,我曾拥有自由,但我并不明白它的意义.我曾拥有时间,但我没有意识到它的珍贵.我曾拥有爱,但我从未用心去体会.数十年的时间考验后,我终于理解了三者的真谛. 我已 ...
- XCTF练习题---MISC---misc_pic_again
XCTF练习题---MISC---misc_pic_again flag:hctf{scxdc3tok3yb0ard4g41n~~~} 解题步骤: 1.观察题目,下载附件 2.拿到手是一张图片,直接上 ...
- XCTF练习题---MISC---easycap
XCTF练习题---MISC---easycap flag:FLAG:385b87afc8671dee07550290d16a8071 解题步骤: 1.观察题目,下载附件 2.拿到手以后发现是一个流量 ...
- XCTF练习题---MISC---base÷64
XCTF练习题---MISC---base÷64 flag:flag{E33B7FD8A3B841CA9699EDDBA24B60AA} 解题步骤: 1.观察题目,下载附件 2.打开附件,观察内容和题 ...
- XCTF练习题---MISC---gif
XCTF练习题---MISC---gif flag:flag{FuN_giF} 解题步骤: 1.观察题目,下载附件 2.观察下载的附件,发现是由黑白块组成的,试着拼接二维码,好像不太对,再仔细看看感觉 ...
- GO语言学习——切片一
切片(slice) 数组的长度的固定的.是声明之后不能变的.是类型的一部分 切片是一个引用类型 切片的定义 声明切片类型的基本语法如下: var name []T 其中, name:表示变量名 T:表 ...
- Doker从0-1
1.docker思想: 它是一种集装箱的思想,,在以前我们部署一个项目上线的时候,我们要部署各种各样的环境.配置.依赖等,各种各样的环境的配置是十分麻烦的,所以就有了docker.他就是将我们的项目和 ...
- 羽夏 Bash 简明教程(下)
写在前面 该文章根据 the unix workbench 中的 Bash Programming 进行汉化处理并作出自己的整理,并参考 Bash 脚本教程 和 BashPitfalls 相关内容 ...
- flask配置文件、路由设置、模板语法、请求与响应、session使用、闪现功能(flash)
今日内容概要 flask 配置文件 flask 路由系统 flask模板语法 请求与相应 session 闪现(flash翻译过来的) 内容详细 1.flask 配置文件 # django ---&g ...