日常巡检(脚本)
时间:2019-09-28
本文章向大家介绍日常巡检(脚本),主要包括日常巡检(脚本)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
#!/bin/bash function system(){ echo "#########################系统信息#########################" OS_TYPE=`uname` OS_VER=`cat /etc/redhat-release` OS_KER=`uname -a|awk '{print $3}'` OS_TIME=`date +%F_%T` OS_RUN_TIME=`uptime |awk '{print $3}'|awk -F, '{print $1}'` OS_LAST_REBOOT_TIME=`who -b|awk '{print $2,$3}'` OS_HOSTNAME=`hostname` echo " 系统类型:$OS_TYPE" echo " 系统版本:$OS_VER" echo " 系统内核:$OS_KER" echo " 当前时间:$OS_TIME" echo " 运行时间:$OS_RUN_TIME" echo "最后重启时间:$OS_LAST_REBOOT_TIME" echo " 本机名称:$OS_HOSTNAME" } system function network(){ echo "#########################网络信息#########################" INTERNET=(`ifconfig|grep ens|awk -F: '{print $1}'`) for((i=0;i<`echo ${#INTERNET[*]}`;i++)) do OS_IP=`ifconfig ${INTERNET[$i]}|head -2|grep inet|awk '{print $2}'` echo " 本机IP:${INTERNET[$i]}:$OS_IP" done curl -I http://www.baidu.com &>/dev/null if [ $? -eq 0 ] then echo " 访问外网:成功" else echo " 访问外网:失败" fi } network function hardware(){ echo "#########################硬件信息#########################" CPUID=`grep "physical id" /proc/cpuinfo |sort|uniq|wc -l` CPUCORES=`grep "cores" /proc/cpuinfo|sort|uniq|awk -F: '{print $2}'` CPUMODE=`grep "model name" /proc/cpuinfo|sort|uniq|awk -F: '{print $2}'` echo " CPU数量: $CPUID" echo " CPU核心:$CPUCORES" echo " CPU型号:$CPUMODE" MEMTOTAL=`free -m|grep Mem|awk '{print $2}'` MEMFREE=`free -m|grep Mem|awk '{print $7}'` echo " 内存总容量: ${MEMTOTAL}MB" echo "剩余内存容量: ${MEMFREE}MB" disksize=0 swapsize=`free|grep Swap|awk {'print $2'}` partitionsize=(`df -T|sed 1d|egrep -v "tmpfs|sr0"|awk {'print $3'}`) for ((i=0;i<`echo ${#partitionsize[*]}`;i++)) do disksize=`expr $disksize + ${partitionsize[$i]}` done ((disktotal=\($disksize+$swapsize\)/1024/1024)) echo " 磁盘总容量: ${disktotal}GB" diskfree=0 swapfree=`free|grep Swap|awk '{print $4}'` partitionfree=(`df -T|sed 1d|egrep -v "tmpfs|sr0"|awk '{print $5}'`) for ((i=0;i<`echo ${#partitionfree[*]}`;i++)) do diskfree=`expr $diskfree + ${partitionfree[$i]}` done ((freetotal=\($diskfree+$swapfree\)/1024/1024)) echo "剩余磁盘容量:${freetotal}GB" } hardware function secure(){ echo "#########################安全信息#########################" countuser=(`last|grep "still logged in"|awk '{print $1}'|sort|uniq`) for ((i=0;i<`echo ${#countuser[*]}`;i++)) do echo "当前登录用户:${countuser[$i]}" done md5sum -c --quiet /opt/passwd.db &>/dev/null if [ $? -eq 0 ] then echo " 用户异常:否" else echo " 用户异常:是" fi } secure
Centos7
原文地址:https://www.cnblogs.com/lslyw/p/11603781.html
- 无人驾驶离我们有多远?
- Javascript的原型继承,说清楚
- 从上到下打印二叉树——层序遍历二叉树
- 树的子结构
- .Net WebApi 初探
- [我的理解]Javascript的原型与原型链
- 《Spark快速大数据分析》—— 第六章 Spark编程进阶
- 《Spark快速大数据分析》—— 第七章 在集群上运行Spark
- 以后去Vero Moda买衣服,可以问会“看脸”的AI导购了
- Tensorflow新手通过PlayGround可视化初识神经网络
- [大数据之Spark]——快速入门
- [大数据之Spark]——Actions算子操作入门实例
- [大数据之Spark]——Transformations转换入门经典实例
- 字符串的排列
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- springboot分布式之springcloud-Eureka注册中心
- c++之类模板成员函数创建时机
- vuejs之v-on小例子之实现购买数量的增加和减少
- c++之类模板对象作函数参数
- vuejs之v-for
- c++类模板与继承
- c++之类模板成员函数的类外实现
- c++之类模板分文件编写
- c++之类模板和友元
- c++之类模板案例
- 【ICLR2020】Transformer Complex-order:一种新的位置编码方式
- 多角度理解CNN
- 【NLP保姆级教程】手把手带你CNN文本分类(附代码)
- 【NLP保姆级教程】手把手带你RNN文本分类(附代码)
- 作为一名Android面试官的碎碎念,面试要掌握这几个关键点!