1. #!/bin/bash
  2. echo "You are logged in as `whoami`";
  3. if [ `whoami` != root ]; then
  4. echo "Must be logged on as root to run this script."
  5. exit
  6. fi
  7. CHECK_DATE=`date +%F`
  8. echo "Running script at `date`"
  9. CHECK_REPORT_PATH=/tmp/getinfo
  10. ls -d $CHECK_REPORT_PATH
  11. if [ $? -gt 0 ]
  12. then
  13. mkdir $CHECK_REPORT_PATH
  14. fi
  15. chmod -R 777 $CHECK_REPORT_PATH
  16. CURRENT_DIR=`pwd`
  17. echo "#################### Check Start ####################"
  18. HOST=`hostname`
  19. echo "********Hostname Check**********" >$CHECK_REPORT_PATH/Report_$CHECK_DATE
  20. echo "Hostname is $HOSTNAME" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  21. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  22. #系统版本检查
  23. echo "********OS Level**********" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  24. uname -a >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  25. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  26. #系统日志检查
  27. echo "********System log*******" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  28. cat /var/log/messages >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  29. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  30. #检查软件安装情况
  31. echo "********Yum*******" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  32. history | grep yum && history | grep rpm >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  33. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  34. #文件系统检查
  35. echo "********File System**********" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  36. df -h >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  37. echo "over 75%" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  38. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  39. df -h |grep '[7-9][5-9]%'>>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  40. #网络地址配置信息
  41. echo "********System /etc/hosts********" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  42. cat /etc/hosts >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  43. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  44. #查看内存使用情况
  45. echo "**********mem check************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  46. free >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  47. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  48. vmstat >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  49. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  50. #查看磁盘读写情况
  51. echo "********io check**********" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  52. iostat >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  53. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  54. #网络检查
  55. echo "********network route check**********" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  56. netstat -rn >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  57. echo "********network check**********" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  58. ifconfig -a >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  59. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  60. #环境变量检查
  61. echo "********env info****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  62. env >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  63. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  64. #用户组检查
  65. echo "********group info****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  66. cat /etc/group >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  67. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  68. #用户密码检查
  69. echo "********user info****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  70. cat /etc/passwd >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  71. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  72. #检查操作系统定时任务
  73. echo "********System crontab info****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  74. crontab -l >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  75. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  76. #检查系统裸设备属主
  77. echo "******** RAW****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  78. ls -l /dev/sd* >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  79. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  80. #检查关机重启
  81. echo "********REBOOT****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  82. last | grep reboot && last | grep shutdown >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  83. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  84. #登录用户检查及远程登录
  85. echo "********USER****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  86. who && who | wc -l >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  87. netstat -anp | grep 22 >> $CHECK_REPORT_PATH/Report_$CHECK_DATE
  88. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  89. #系统运行时间及平均负载
  90. echo "********Uptime****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  91. uptime >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  92. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  93. #检查系统占用cpu,内存,磁盘io最大的进程
  94. echo "********Dstat cpu****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  95. dstat -c -y -l --proc-count --top-cpu 2 3 >> $CHECK_REPORT_PATH/Report_$CHECK_DATE
  96. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  97.  
  98. echo "********Dstat mem****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  99. dstat -g -l -m -s --top-mem 2 3 >> $CHECK_REPORT_PATH/Report_$CHECK_DATE
  100. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  101.  
  102. echo "********Dstat io****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  103. dstat --top-io 2 3 >> $CHECK_REPORT_PATH/Report_$CHECK_DATE
  104. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  105. #进程总数
  106. echo "********Dstat proc****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  107. dstat --proc-count 3 3 >> $CHECK_REPORT_PATH/Report_$CHECK_DATE
  108. echo -e "----------------------------------------------------\n">>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  109. #检查selinux
  110. echo "********SELINUX****************" >>$CHECK_REPORT_PATH/Report_$CHECK_DATE
  111. getenforce >> $CHECK_REPORT_PATH/Report_$CHECK_DATE
  112. 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系统健康检查脚本的更多相关文章

  1. Oracle SQL 调优健康检查脚本

    Oracle SQL 调优健康检查脚本 我们关注数据库系统的性能,进行数据库调优的主要工作就是进行SQL的优化.良好的数据架构设计.配合应用系统中间件和写一手漂亮的SQL,是未来系统上线后不出现致命性 ...

  2. linux安全配置检查脚本_v0.5

    看到网上有人分享了一些linux系统的基线检查脚本,但有些检查项未必适合自己或者说检查的不够完善, 计划按着自己的需求重新写一份出来,其中脚本的检查范围在不断更新中. 脚本内容: [root@loca ...

  3. Script:SQL调优健康检查脚本

    Script:SQL调优健康检查脚本 http://www.askmaclean.com/archives/sql-tuning-health-check-script.html 以下脚本可以用于收集 ...

  4. lvs健康检查脚本第三版

    如下是学习完马哥视频lvs后改写的健康检查脚本第三版.利用工作之余三四个小时时间才把整个逻辑搞清楚,有时候自己都有点蒙圈,尤其是在写到while循环的时候.总的来说非常感谢马哥的慷慨解囊!脚本原稿及思 ...

  5. 红帽linux系统开机自启动脚本。

    其实很多东西在最后完成以后会觉得也就那样,有意思的是探究的过程. 前段时间老板要求把一个程序做成linux系统开机自启动脚本的模式. 首先你需要写一个脚本. 我这边建立了一个.sh的脚本,就是用脚本启 ...

  6. linux安全配置检查脚本_v0.8

    脚本环境:RHEL6.* 脚本说明:该脚本作用为纯执行检测不涉及更改配置等操作,与直接上来就改安全配置等基线脚本相比相对安全一些.虽然如此,在你执行该脚本之前仍然建议你备份或快照一下目标系统. 代码部 ...

  7. Linux安全基线检查脚本

    基线检查内容: 一:共享账号检查 配置名称:用户账号分配检查,避免共享账号存在配置要求:1.系统需按照实际用户分配账号; 2.避免不同用户间共享账号,避免用户账号和服务器间通信使用的账号共享.操作指南 ...

  8. linux系统带宽监测脚本

    服务器可能经常遇到服务器出带宽跑满,不知如何查询被哪个进程占用的情况,有一款开源的英文软件iftop功能比较强大可以查询相关信息,可能刚接触linux系统的朋友不太会使用,在此写了一个功能比较简单无需 ...

  9. 在linux系统下检查postgresql数据库安装,登录数据库及简单的查看数据库

    1.    检查Linux系统是否安装数据库 首先查看自己的系统是否安装了postgresql数据库命令如下: rpm -qa | grep postgresql 如果没有显示查询结果(如下图所示)说 ...

随机推荐

  1. 图数据库|基于 Nebula Graph 的 BetweennessCentrality 算法

    本文首发于 Nebula Graph Community 公众号 ​在图论中,介数(Betweenness)反应节点在整个网络中的作用和影响力.而本文主要介绍如何基于 Nebula Graph 图数据 ...

  2. 「Python实用秘技07」pandas中鲜为人知的隐藏排序技巧

    本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills 这是我的系列文章「Python实用秘技」的第7期 ...

  3. MKL与VS2019配置方法

    VS2019配置oneAPI并调用MKL库 oneAPI oneAPI是一个跨架构的编程工具,旨在简化跨GPU.CPU.FPGA和AI加速器之间的编程,可以与英特尔自身设备,或其他厂商的芯片配合使用, ...

  4. 斯坦福NLP课程 | 第1讲 - NLP介绍与词向量初步

    作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/36 本文地址:http://www. ...

  5. vue 常见指令

    vue 常见的指令 v-bind:单向绑定解析表达式可简写为  :xxxx v-model: 双向数据绑定 v-for : 遍历数组/对象/字符串 v-on :绑定事件监听,.可简写为@ v-if : ...

  6. Vue报错: Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'protocol')

    Vue报错: Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'protocol') 报错信 ...

  7. idea的快捷键(复制) IntelliJ Idea 常用快捷键列表

    Ctrl+Shift + Enter,语句完成'!',否定完成,输入表达式时按 "!"键 Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可 ...

  8. 思科,华为l2tp组网,家庭宽带,公司内网数据分离

    拓扑 简介 办公网使用专线接入,拥有固定IP地址,网络出口使用防火墙做NAT,下联交换机接入服务器,办公电脑等,旁挂思科路由器做L2TP LNS 家庭宽带使用ADSL线路,华为路由器做拨号设备与DHC ...

  9. zabbix-agent python脚本侦听服务器异常登录,并告警

    py脚本 import re,subprocess,time,datetime #gpasswd -a zabbix adm def ftime(a): a = a.replace('Jan','01 ...

  10. spring boot redis 写入异常

    redis 的 key value 使用 json 序列化.反序列化时,写入的 bean 不能是 final 类型的类,否则无法解析