shell脚本:系统巡检以及搭建服务是否启动

系统巡检shell脚本记录

#!/bin/bash
#Archer不吃蒜

# 定义变量
LOG_FILE="/var/log/system-check.log"
DATE=$(date +"%Y-%m-%d %H:%M:%S")

# 输出当前时间到日志文件
echo "系统巡检开始于:$DATE" >> $LOG_FILE

# 检查CPU使用率
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}')
if (( $(echo "$CPU_USAGE > 80" | bc -l) )); then
    echo "CPU使用率过高:$CPU_USAGE%" >> $LOG_FILE
fi

# 检查内存使用情况
MEMORY_USAGE=$(free | awk '/Mem/{printf("%.2f%"), $3/$2*100}')
if (( $(echo "$MEMORY_USAGE > 80" | bc -l) )); then
    echo "内存使用率过高:$MEMORY_USAGE" >> $LOG_FILE
fi

# 检查磁盘使用情况
DISK_USAGE=$(df -h | awk '$NF=="/"{printf "%s", $5}')
if (( $(echo "$DISK_USAGE > 80" | bc -l) )); then
    echo "磁盘使用率过高:$DISK_USAGE" >> $LOG_FILE
fi

# 检查系统负载
LOAD_AVERAGE=$(uptime | awk '{print $10}')
if (( $(echo "$LOAD_AVERAGE > 1" | bc -l) )); then
    echo "系统负载过高:$LOAD_AVERAGE" >> $LOG_FILE
fi

# 检查网络连接情况
PING_RESULT=$(ping -c 5 google.com | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
if [ "$PING_RESULT" -eq 0 ]; then
    echo "无法连接网络" >> $LOG_FILE
fi

# 输出巡检结果到控制台
cat $LOG_FILE

# 结束时间
DATE=$(date +"%Y-%m-%d %H:%M:%S")
echo "系统巡检结束于:$DATE" >> $LOG_FILE

这个脚本会检查CPU、内存、磁盘、系统负载和网络连接情况,并将结果输出到日志文件中。可以通过运行./system-check.sh来执行脚本,也可以将脚本添加到cron任务中,定期自动执行。

下面脚本包含我指定的服务检测是否启动

#!/bin/bash

# 获取当前时间
now=$(date +"%Y-%m-%d %H:%M:%S")

# 检查系统负载
loadavg=$(uptime | awk '{print $10,$11,$12}')
echo "系统负载:$loadavg"

# 检查磁盘空间
df -h | awk '$NF=="/"{printf "磁盘空间:%.2f%%\n", $5}'

# 检查内存使用情况
free -m | awk 'NR==2{printf "内存使用情况:%.2f%%\n", $3*100/$2}'

# 检查CPU使用情况
cpu_usage=$(top -bn1 | grep load | awk '{printf "%.2f%%\n", $(NF-2)}')
echo "CPU使用情况:$cpu_usage"

# 检查服务是否启动
services=("nginx" "mysql" "redis")
for service in "${services[@]}"
do
    if pgrep "$service" >/dev/null
    then
        echo "$service 服务已经启动"
    else
        echo "$service 服务未启动"
    fi
done

echo "系统巡检完成于 $now"

该脚本会输出系统负载、磁盘空间、内存使用情况、CPU使用情况以及指定服务的启动状态。其中,指定服务的名称可以在services数组中添加或删除。

你可以将该脚本保存为一个文件,比如system_check.sh,然后在终端中运行bash system_check.sh来执行该脚本。你也可以将该脚本添加到crontab中,定期执行系统巡检。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵唯一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值