#!/bin/bash
if [ -f output.txt ]
then
touch output.txt
fi
# modify file permission
if [ -w output.txt ]
then
chmod 755 output.txt
fi
#总内存容量
mem_total=$(free | awk '/Mem/{print $2}')
#剩余内存容量
mem_free=$(free | awk '/Mem/{print $NF}')
#磁盘信息
disk=$(df | awk '/^\/dev/{print $1,$2,$4}'|column -t)
#CPU最近1分钟的平均负载
load1=$(uptime | sed 's/,//g' | awk '{print $(NF-2)}')
#CPU最近5分钟的平均负载
load5=$(uptime | sed 's/,//g' | awk '{print $(NF-1)}')
#CPU最近15分钟的平均负载
load15=$(uptime | sed 's/,//g' | awk '{print $(NF)}')
#登录用户数量
login_users=$(who | wc -l)
#进程数量
procs=$(ps aux | wc -l)
#系统总账户数量
users=$(sed -n '$=' /etc/passwd)
#输出数据信息
echo "\033[32m************************开始巡检********************\033[0m" >output.txt
echo "本机总内存容量:\033[32m$mem_total\033[0m,剩余可用内存容量:\033[32m$mem_free\033[0m" >>output.txt
echo "CPU最近1分钟,5分钟,15分钟的平均负载分别为:\033[32m$load1 $load5 $load15\033[0m" >>output.txt
echo "本机总账户数量为:\033[32m$users\033[0m,当前登录系统的账户数量:\033[32m$login_users\033[0m" >>output.txt
echo "\033[32m$top_proc_cpu\033[0m" >>output.txt
echo "\033[32m$top_proc_mem\033[0m" >>output.txt
echo "每个磁盘分区的总容量与剩余容量信息如下:" >>output.txt
echo "$disk" >>output.txt
echo "$tps" >>output.txt
echo "$read_write" >>output.txt
echo "$net_monitor" >>output.txt
echo "用户历史登录记录如下:" >>output.txt
last -f /var/log/wtmp >>output.txt
echo "24h内修改过的文件如下:" >>output.txt
find ./ -mtime 0 >>output.txt
echo "最占用内存的进程如下:(列出前10个):" >>output.txt
ps -aux | sort -k4nr | head -10 >>output.txt #查看最占用内存的进程(列出了10个)
echo "\033[32m************************巡检结束********************\033[0m" >>output.txt
Linux巡查脚本
最新推荐文章于 2024-08-19 09:30:33 发布