温馨提示×

怎样自动化ubuntu清理

小樊
47
2026-09-14 19:41:40
栏目: 智能运维

在 Ubuntu 上“自动化清理”通常分为 系统垃圾清理 和 定时自动执行 两部分。下面按实用程度从高到低给你一套方案。


一、Ubuntu 自带的安全清理(推荐先会用)

1. 清理 apt 缓存

sudo apt clean
sudo apt autoclean

2. 删除无用依赖

sudo apt autoremove --purge

3. 清理旧内核(小心)

sudo apt autoremove --purge

(Ubuntu 默认会保留当前和上一个内核)


二、使用 bleachbit(图形 + 命令行)

安装

sudo apt install bleachbit

命令行自动清理

sudo bleachbit --clean apt.cache apt.packages system.tmp

可加入脚本中自动执行。


三、用 systemd 定时器(推荐,最“Ubuntu 风格”)

1. 创建清理脚本

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

内容示例:

#!/bin/bash
apt clean
apt autoclean
apt autoremove --purge -y
journalctl --vacuum-time=7d
rm -rf /tmp/*

赋予权限:

sudo chmod +x /usr/local/bin/ubuntu-clean.sh

2. 创建 systemd service

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

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

3. 创建 timer(每周执行)

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

[Timer]
OnCalendar=weekly
Persistent=true

[Install]
WantedBy=timers.target

4. 启用

sudo systemctl enable --now ubuntu-clean.timer

查看状态:

systemctl list-timers

四、用 cron(传统方式)

sudo crontab -e

每周日 3 点:

0 3 * * 0 /usr/local/bin/ubuntu-clean.sh

五、可选:清理 snap(很多人忽略)

sudo snap refresh
snap list
sudo snap remove --purge old_snap_name

自动清理脚本示例:

set -eu
LANG=C snap list --all | awk '/disabled/{print $1, $3}' |
while read snapname revision; do
  snap remove "$snapname" --revision="$revision"
done

六、日志与 journal 清理

sudo journalctl --vacuum-time=7d
sudo journalctl --vacuum-size=100M

建议组合(最省心)

✅ apt autoremove
✅ apt clean
✅ journal 日志限制
✅ systemd 每周定时


如果你愿意,我可以:

  • 给你一个 一条命令安装+自动化的脚本
  • 或针对 服务器 / 桌面 / Docker 主机 分别定制

你主要用在什么环境?

0 踩