为了账号安全,请及时绑定邮箱和手机立即绑定

生产环境超实用shell脚本一

标签:
Linux 运维

生产环境超实用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

总结

  1. 服务器健康检查脚本:检查服务器的CPU、内存、磁盘、网络等资源使用情况,以及关键服务状态。

  2. 日志清理脚本:定期清理过期的日志文件,释放磁盘空间。

  3. 备份脚本:定期备份重要数据和配置文件。

  4. 监控脚本:监控系统资源、服务状态、网站可用性等,并发送告警通知。

通过使用这些脚本,运维人员可以更好地管理生产环境,及时发现和解决问题,确保业务的连续性。

– 欢迎点赞、关注、转发、收藏【我码玄黄】,各大平台同名。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消