CentOS 系统下的实用脚本

简介
CentOS 是一款基于 Red Hat Enterprise Linux 的免费发行版,因其稳定性和兼容性而受到广大用户的喜爱,在 CentOS 系统中,我们可以通过编写脚本来自动化日常操作,提高工作效率,本文将介绍一些 CentOS 系统下好玩的脚本,帮助您更好地管理和使用您的服务器。
脚本示例
系统信息查询脚本
#!/bin/bash
echo "系统信息查询脚本"
echo "-------------------"
echo "操作系统:$(hostnamectl | awk '/Operating System/ {print $3}' | cut -d' ' -f2)"
echo "内核版本:$(uname -r)"
echo "CPU 信息:$(cat /proc/cpuinfo | grep 'model name' | awk '{print $4}' | head -n 1)"
echo "内存信息:$(free -m | awk '/Mem:/ {print $2} /-/+ buffers:/ {print $2} /+ cached:/ {print $2}') MB"
echo "磁盘信息:$(df -h | awk '/^\/dev/ {print $1, $5}')" 定时备份脚本

#!/bin/bash
# 设置备份目录
BACKUP_DIR="/backup"
# 设置要备份的目录
BACKUP_SOURCE="/home"
# 设置备份文件名
BACKUP_FILE="backup_$(date +%Y%m%d%H%M%S).tar.gz"
# 创建备份目录
mkdir -p $BACKUP_DIR
# 开始备份
tar -czf $BACKUP_DIR/$BACKUP_FILE $BACKUP_SOURCE
# 备份完成后,删除一个月前的备份文件
find $BACKUP_DIR -name "backup_*.tar.gz" -mtime +30 -exec rm -f {} \; 自动清理日志文件脚本
#!/bin/bash
# 设置日志文件目录
LOG_DIR="/var/log"
# 清理超过7天的日志文件
find $LOG_DIR -name "*.log" -mtime +7 -exec rm -f {} \; 系统监控脚本
#!/bin/bash
# 检查CPU使用率
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
# 检查内存使用率
MEM_USAGE=$(free | grep Mem | awk '{print $3/$2 * 100.0}')
# 输出结果
echo "CPU 使用率:$CPU_USAGE%"
echo "内存使用率:$MEM_USAGE%"
# 当CPU使用率超过80%时,发送邮件通知
if [ $CPU_USAGE -gt 80 ]; then
echo "警告:CPU 使用率过高,当前使用率为 $CPU_USAGE%" | mail -s "系统警告" admin@example.com
fi FAQs
Q1:如何运行这些脚本?
A1:将脚本保存为.sh文件,script.sh",然后通过命令行运行:bash script.sh。

Q2:如何将脚本设置为定时任务?
A2:将脚本保存为.sh文件后,通过crontab命令添加定时任务,每天凌晨2点运行脚本,可以编辑crontab文件:crontab -e,然后添加以下行:
0 2 * * * /path/to/script.sh 保存并退出编辑器,脚本就会按照设定的时间自动运行。

