ubuntu

Ubuntu如何定期自动清理

小樊
43
2025-09-22 00:00:50
栏目: 智能运维

Ubuntu定期自动清理的实现方法

1. 编写清理脚本(核心步骤)

清理脚本需包含常用的系统清理命令,用于删除无用缓存、临时文件、旧内核等。以下是一个示例脚本(保存为/home/user/cleanup.sh):

#!/bin/bash
# 清理APT缓存(保留最新版本,删除旧包)
sudo apt autoclean && sudo apt clean
# 清理临时文件
sudo rm -rf /tmp/*
# 清理系统日志(保留最近7天)
sudo journalctl --vacuum-time=7d
# 清理旧内核(保留当前及最近2个,避免误删)
current_kernel=$(uname -r)
kernels_to_remove=$(dpkg --list | grep 'ii' | grep -E 'linux-image-[0-9]' | awk '{print $2}' | sort -V | grep -v "$current_kernel" | head -n -2)
if [ -n "$kernels_to_remove" ]; then
    sudo apt purge -y $kernels_to_remove
fi
# 清理用户缓存(尊重隐私,仅清理/home目录下用户的.cache)
for user_dir in /home/*; do
    if [ "$user_dir" != "/home/systemd" ] && [ "$user_dir" != "/home/messagebus" ]; then
        find "$user_dir/.cache" -type f -mtime +7 -delete 2>/dev/null
    fi
done
# 清理无用配置文件
sudo dpkg --purge $(dpkg -l | grep 'rc' | awk '{print $2}')
echo "系统自动清理完成!"

关键说明

2. 使用Cron设置定时任务

Cron是Ubuntu默认的定时任务工具,可通过crontab -e命令编辑当前用户的定时任务。以下是常见场景的配置示例:

注意事项

3. 借助工具简化流程

若不想手动写脚本,可使用以下工具实现自动清理:

提示:工具虽方便,但手动编写的脚本更灵活,可根据需求定制清理项。

4. 常用清理命令(脚本集成必备)

以下是脚本中常用的清理命令,覆盖了大部分清理场景:

注意事项

0
看了该问题的人还看了