CentOS有哪些好玩又实用的脚本可以日常玩转系统?

在CentOS系统中,脚本编程是提升工作效率和系统管理乐趣的重要方式,通过编写简单的Shell脚本,用户可以自动化重复任务、监控系统状态,甚至实现一些创意十足的小功能,以下将介绍几个在CentOS中既实用又有趣的脚本示例,涵盖系统监控、文件管理和自动化任务等场景。

CentOS有哪些好玩又实用的脚本可以日常玩转系统?

系统资源监控脚本

系统资源监控是服务器管理的常见需求,一个简单的脚本可以实时显示CPU、内存和磁盘使用情况,以下脚本通过top和free命令获取数据,并以易读的格式输出:

#!/bin/bash
echo "=== 系统资源监控 ==="
echo "CPU使用率:"
top -bn1 | grep "Cpu(s)" | sed "s/.*, *([0-9.]*)%* id.*/1/" | awk '{print 100 - $1"%"}'
echo "内存使用率:"
free | grep Mem | awk '{print ($3/$2) * 100.0"%"}'
echo "磁盘使用率:"
df -h | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{print $5 " " $6}'

将此脚本保存为monitor.sh,赋予执行权限后运行,即可快速查看系统资源状态。

文件批量重命名工具

处理大量文件时,批量重命名能节省大量时间,以下脚本可将指定目录下的所有.txt文件统一添加前缀backup_:

#!/bin/bash
read -p "请输入目录路径: " dir
if [ ! -d "$dir" ]; then
    echo "目录不存在!"
    exit 1
fi
cd "$dir" || exit
for file in *.txt; do
    mv "$file" "backup_$file"
done
echo "重命名完成!"

运行此脚本后,用户只需输入目标路径,即可自动完成重命名操作,非常适合管理日志或临时文件。

自动备份脚本

数据备份是系统维护的关键环节,以下脚本可将指定目录压缩并备份到/backup文件夹,同时保留最近7天的备份:

CentOS有哪些好玩又实用的脚本可以日常玩转系统?

#!/bin/bash
src="/path/to/source"
backup_dir="/backup"
date=$(date +%Y%m%d)
tar -czf "$backup_dir/backup_$date.tar.gz" "$src"
find "$backup_dir" -name "backup_*.tar.gz" -mtime +7 -delete
echo "备份完成,文件名: backup_$date.tar.gz"

通过结合tar和find命令,脚本实现了自动化备份和历史清理功能,确保存储空间的高效利用。

服务器状态检查脚本

对于运维人员,定期检查服务状态至关重要,以下脚本检测Nginx和MySQL是否运行,并给出提示:

#!/bin/bash
services=("nginx" "mysql")
for service in "${services[@]}"; do
    if systemctl is-active --quiet "$service"; then
        echo "$service: 运行中"
    else
        echo "$service: 未运行,尝试启动..."
        systemctl start "$service"
    fi
done

脚本通过循环检查多个服务状态,并在服务异常时自动尝试恢复,适合用于定时任务(如Cron)。

创意趣味脚本

除了实用功能,脚本也能带来趣味,以下“随机名言”脚本每天显示一句励志格言:

#!/bin/bash
quotes=(
    "生活就像一盒巧克力,你永远不知道下一颗是什么味道。"
    "成功不是终点,失败也不是终结:唯有勇气才是永恒。"
    "路漫漫其修远兮,吾将上下而求索。"
)
random_index=$((RANDOM % ${#quotes[@]}))
echo "${quotes[$random_index]}"

将其加入Cron任务,每天定时推送,为工作增添一丝惊喜。

CentOS有哪些好玩又实用的脚本可以日常玩转系统?


FAQs

Q1: 如何让上述脚本开机自动运行?
A1: 可将脚本保存到/etc/rc.local或使用systemd服务,创建/etc/systemd/system/my-script.service,添加ExecStart=/path/to/script.sh并启用服务:systemctl enable my-script.service。


A2: 这是Shell中的随机数生成语法。RANDOM返回0-32767的随机数,% n取模运算后可限制范围(如% 3生成0-2的随机数)。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

赞 (0)
热舞的头像热舞
上一篇 2025-12-02 10:36
下一篇 2025-12-02 10:40

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信