生产环境超实用shell脚本

生产环境超实用shell脚本一

Shell脚本作为一种强大的自动化工具,能够帮助运维人员轻松应对各种复杂的任务。

本文将为您介绍服务器健康检查、日志清理、备份以及监控等多个方面,并详细阐述每个脚本的功能和应用场景,助力您提升运维效率,确保生产环境的稳定运行。

服务器健康检查脚本

功能: 检查服务器的CPU、内存、磁盘、网络等资源使用情况,以及关键服务状态。 应用场景: 定期监控服务器健康状况,及时发现潜在问题。 示例代码:

#!/bin/bash

# 获取CPU使用率
cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')

# 获取内存使用率
mem_usage=$(free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2 }')

# 获取磁盘使用率
disk_usage=$(df -h | awk '$NF=="/"{printf "%s", $5}')

# 获取网络连接数
net_connections=$(netstat -ant | wc -l)

# 检查关键服务状态
service_status=$(systemctl is-active nginx)

# 输出结果
echo "CPU使用率: $cpu_usage%"
echo "内存使用率: $mem_usage"
echo "磁盘使用率: $disk_usage"
echo "网络连接数: $net_connections"
echo "Nginx服务状态: $service_status"

2. 日志清理脚本

功能: 定期清理过期的日志文件,释放磁盘空间。 应用场景: 防止日志文件无限增长,占用过多磁盘空间。 示例代码:

#!/bin/bash

# 定义日志目录和保留天数
log_dir="/var/log"
keep_days=7

# 查找并删除过期日志文件
find $log_dir -type f -mtime +$keep_days -exec rm -f {} \;

echo "日志清理完成!"

3. 备份脚本

功能: 定期备份重要数据和配置文件。 应用场景: 防止数据丢失,确保业务连续性。 示例代码:

#!/bin/bash

# 定义备份目录和备份文件名
backup_dir="/backup"
backup_file="backup_$(date +%Y%m%d).tar.gz"

# 创建备份目录
mkdir -p $backup_dir

# 打包备份文件
tar -czf $backup_dir/$backup_file /etc /var/www

echo "备份完成!"

4. 监控脚本

功能: 监控系统资源、服务状态、网站可用性等,并发送告警通知。 应用场景: 实时监控系统运行状态,及时发现和处理故障。 示例代码:

#!/bin/bash

# 定义监控项和阈值
cpu_threshold=80
mem_threshold=90
disk_threshold=85

# 获取监控数据
cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
mem_usage=$(free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2 }')
disk_usage=$(df -h | awk '$NF=="/"{printf "%s", $5}' | sed 's/%//g')

# 判断是否超过阈值并发送告警
if [ $cpu_usage -gt $cpu_threshold ]; then
  echo "CPU使用率超过阈值!" | mail -s "CPU告警" admin@example.com
fi

if [ $mem_usage -gt $mem_threshold ]; then
  echo "内存使用率超过阈值!" | mail -s "内存告警" admin@example.com
fi

if [ $disk_usage -gt $disk_threshold ]; then
  echo "磁盘使用率超过阈值!" | mail -s "磁盘告警" admin@example.com
fi

总结

服务器健康检查脚本:检查服务器的CPU、内存、磁盘、网络等资源使用情况,以及关键服务状态。 日志清理脚本:定期清理过期的日志文件,释放磁盘空间。 备份脚本:定期备份重要数据和配置文件。 监控脚本:监控系统资源、服务状态、网站可用性等,并发送告警通知。 通过使用这些脚本,运维人员可以更好地管理生产环境,及时发现和解决问题,确保业务的连续性。

https://juejin.cn/post/7468211323233533961
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

剽悍一小兔

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

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

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

打赏作者

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

抵扣说明:

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

余额充值