运维工程师在日常工作中,需要处理各种各样的问题,从系统监控到故障排查,从性能优化到自动化部署,每一个环节都离不开合适的工具。今天,我们就来揭秘一箱在手,轻松运维的必备工具箱脚本。
1. 系统监控脚本
1.1 监控CPU使用率
#!/bin/bash
while true; do
cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
echo "当前CPU使用率: $cpu_usage%"
sleep 5
done
这个脚本通过top命令获取CPU的使用率,然后每5秒更新一次。
1.2 监控内存使用率
#!/bin/bash
while true; do
mem_usage=$(free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2 }')
echo "当前内存使用率: $mem_usage"
sleep 5
done
这个脚本通过free命令获取内存的使用率,并格式化输出。
2. 故障排查脚本
2.1 检查网络连通性
#!/bin/bash
while true; do
ping -c 4 google.com
if [ $? -ne 0 ]; then
echo "网络不通,请检查网络连接!"
fi
sleep 60
done
这个脚本通过ping命令检查网络连通性,如果无法ping通,则输出提示信息。
2.2 检查磁盘空间
#!/bin/bash
while true; do
disk_usage=$(df -h | awk '$NF=="/"{printf "Disk Usage: %s", $5}')
echo "$disk_usage"
sleep 60
done
这个脚本通过df命令检查磁盘空间使用情况,并格式化输出。
3. 性能优化脚本
3.1 清理缓存
#!/bin/bash
while true; do
echo "正在清理缓存..."
rm -rf /var/cache/*
sleep 3600
done
这个脚本通过删除/var/cache目录下的缓存文件来清理缓存。
3.2 关闭不需要的服务
#!/bin/bash
while true; do
echo "正在关闭不需要的服务..."
systemctl stop cups
systemctl stop avahi-daemon
sleep 3600
done
这个脚本通过关闭cups和avahi-daemon服务来减少系统资源消耗。
4. 自动化部署脚本
4.1 部署Web应用
#!/bin/bash
# 安装Nginx
sudo apt-get update
sudo apt-get install -y nginx
# 配置Nginx
sudo cp /path/to/nginx.conf /etc/nginx/sites-available/default
# 启动Nginx
sudo systemctl start nginx
sudo systemctl enable nginx
这个脚本通过安装Nginx、配置Nginx和启动Nginx来完成Web应用的部署。
通过以上这些脚本,我们可以轻松地实现系统监控、故障排查、性能优化和自动化部署等功能。当然,这些脚本只是冰山一角,实际工作中还有很多其他的脚本可以用来提高运维效率。希望这篇文章能对你有所帮助!
