1. 创建 Shell 脚本文件

创建一个新的脚本文件,例如 cleanup_old_logs.sh

–bash
touch cleanup_old_logs.sh


2. 编辑脚本内容

使用文本编辑器(如 nanovim)编辑脚本文件,并添加以下内容:

–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   作者:陈柯任