温馨提示×

centos cleanup如何定时任务

小樊
44
2026-09-03 01:05:23
栏目: 智能运维

在 CentOS 中,“cleanup(清理)”一般通过 定时任务(cron) 来实现。下面从 基础用法 → 常见清理示例 → 实战配置 给你讲清楚。


一、CentOS 定时任务基础(cron)

1. 查看 cron 服务状态

systemctl status crond

2. 启动 / 开机自启

systemctl start crond
systemctl enable crond

3. 编辑当前用户的定时任务

crontab -e

4. cron 时间格式

* * * * *  command
分 时 日 月 周

示例:

  • 0 3 * * * → 每天凌晨 3 点
  • */30 * * * * → 每 30 分钟
  • 0 0 * * 0 → 每周日 0 点

二、常见 CentOS cleanup 场景

1️⃣ 清理 yum 缓存

0 2 * * * yum clean all

2️⃣ 清理 /tmp 目录(7天前的文件)

0 3 * * * find /tmp -type f -mtime +7 -delete

3️⃣ 清理日志文件(/var/log)

0 4 * * * find /var/log -type f -name "*.log" -mtime +30 -delete

⚠️ 注意:直接用 -delete 有风险,建议先测试:

find /var/log -type f -name "*.log" -mtime +30

三、推荐做法:写成 cleanup 脚本

1. 创建脚本

vim /root/cleanup.sh

内容示例:

#!/bin/bash
# cleanup script

# yum
yum clean all

# tmp
find /tmp -type f -mtime +7 -delete

# logs
find /var/log -type f -name "*.log" -mtime +30 -delete

# docker(如有)
docker system prune -f

2. 赋权

chmod +x /root/cleanup.sh

3. 加入 cron

crontab -e
0 3 * * * /root/cleanup.sh >> /var/log/cleanup.log 2>&1

四、系统级定时任务(推荐服务器使用)

路径:

/etc/cron.daily/
/etc/cron.weekly/

示例:

cp /root/cleanup.sh /etc/cron.daily/cleanup
chmod +x /etc/cron.daily/cleanup

系统会自动按天执行。


五、查看执行记录

grep CRON /var/log/cron

六、安全建议

  • ❌ 不要直接删系统关键目录
  • ✅ 先 -print 测试
  • ✅ 加日志
  • ✅ 用绝对路径

如果你愿意,可以告诉我:

  • CentOS 版本(6 / 7 / 8 / Stream)
  • 想清理什么(日志 / docker / 磁盘 / 临时文件)

我可以给你精确的 cleanup 定时任务配置

0