温馨提示×

怎样安排ubuntu清理计划

小樊
46
2026-10-02 17:28:04
栏目: 智能运维

在 Ubuntu 上安排“清理计划”,通常做法是**用系统自带工具 + 定时任务(cron / systemd timer)**组合。下面按「做什么 → 怎么定时 → 示例方案」给你一套实用方案。


一、先明确要清理什么

常见可清理项:

  • apt 缓存:/var/cache/apt/archives
  • 旧内核
  • 日志:/var/log
  • 用户缓存:~/.cache
  • 临时文件:/tmp
  • Docker(如有):镜像、容器、卷

二、常用清理命令

1. 基础系统清理

sudo apt autoremove --purge -y
sudo apt clean
sudo journalctl --vacuum-time=7d

2. 手动删旧内核(谨慎)

dpkg -l | grep linux-image
sudo apt remove linux-image-旧版本

3. 清理用户缓存

rm -rf ~/.cache/*

4. Docker(可选)

docker system prune -af

三、用 cron 安排定期清理(最简单)

编辑定时任务

sudo crontab -e

示例:每周日凌晨 3 点清理

0 3 * * 0 apt autoremove --purge -y && apt clean && journalctl --vacuum-time=7d

示例:每天清理 /tmp

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

四、用 systemd timer(更现代,推荐服务器)

1. 创建清理脚本

sudo nano /usr/local/bin/ubuntu-clean.sh

内容:

#!/bin/bash
apt autoremove --purge -y
apt clean
journalctl --vacuum-time=7d
find /tmp -type f -mtime +7 -delete
sudo chmod +x /usr/local/bin/ubuntu-clean.sh

2. 创建 service

sudo nano /etc/systemd/system/clean.service
[Unit]
Description=Ubuntu Cleanup

[Service]
Type=oneshot
ExecStart=/usr/local/bin/ubuntu-clean.sh

3. 创建 timer

sudo nano /etc/systemd/system/clean.timer
[Unit]
Description=Weekly Ubuntu Cleanup

[Timer]
OnCalendar=weekly
Persistent=true

[Install]
WantedBy=timers.target

4. 启用

sudo systemctl enable --now clean.timer

五、查看与验证

systemctl list-timers
crontab -l
df -h

六、推荐方案(省心)

  • 桌面用户:用 cron 每周清一次
  • 服务器:用 systemd timer
  • 云服务器:日志 + apt 缓存重点清
  • Docker 主机:加 docker system prune

如果你愿意,我可以按你的 Ubuntu 版本 / 是否服务器 / 是否用 Docker帮你定制一份现成配置。

0 踩