1. 创建 Shell 脚本文件
创建一个新的脚本文件,例如 cleanup_old_logs.sh
:
–bash
touch cleanup_old_logs.sh
2. 编辑脚本内容
使用文本编辑器(如 nano
或 vim
)编辑脚本文件,并添加以下内容:
–bash
#!/bin/bash
-# 脚本功能:删除 /home/logs 目录下修改时间超过 1 天的文件
-# 设置日志目录
LOG_DIR=”/home/logs”
-# 检查目录是否存在
if [ ! -d “$LOG_DIR” ]; then
echo “错误:目录 $LOG_DIR 不存在!”
exit 1
fi
-# 删除修改时间超过 1 天的文件
find “$LOG_DIR” -type f -mtime +1 -exec rm -f {} ;
-# 输出完成信息
echo “已成功清理 $LOG_DIR 目录中超过 1 天的文件。”
3. 赋予脚本可执行权限
运行以下命令,使脚本具有可执行权限:
–bash
chmod +x cleanup_old_logs.sh
4. 运行脚本
直接运行脚本:
–bash
./cleanup_old_logs.sh
5. 解释脚本内容
#!/bin/bash
:指定脚本使用 Bash 解释器。LOG_DIR="/home/logs"
:定义日志目录的路径。if [ ! -d "$LOG_DIR" ]; then ... fi
:检查目录是否存在,如果不存在则报错并退出。find "$LOG_DIR" -type f -mtime +1 -exec rm -f {} \;
:查找并删除修改时间超过 1 天的文件。echo "已成功清理 ..."
:输出清理完成的信息。
6. 定时执行脚本(可选)
如果你希望定时执行这个脚本,可以使用 cron
设置定时任务。
编辑 crontab:
–bash
crontab -e
添加以下内容(例如每天凌晨 2 点执行):
–bash
0 2 * * * /root/cleanup_old_logs.sh >> /var/log/cleanup_logs.log 2>&1
说明:
0 2 * * *
:表示每天凌晨 2 点执行。/path/to/cleanup_old_logs.sh
:替换为脚本的实际路径。>> /var/log/cleanup_logs.log 2>&1
:将脚本的输出和错误日志保存到/var/log/cleanup_logs.log
文件中。
7. 测试脚本
确保脚本按预期工作,可以手动运行并检查日志文件是否被正确清理。
文档更新时间: 2025-03-14 09:28 作者:陈柯任