编写一个Linux清理脚本可以帮助你自动删除不必要的文件和目录,释放磁盘空间。以下是一个简单的示例脚本,它会删除一些常见的临时文件、日志文件和其他不再需要的文件。
#!/bin/bash
# 设置日志文件路径
LOG_FILE="/var/log/cleanup.log"
# 记录开始时间
echo "Cleanup started at $(date)" >> $LOG_FILE
# 删除 /tmp 目录下的所有文件
echo "Cleaning /tmp directory..." >> $LOG_FILE
rm -rf /tmp/*
# 删除 /var/tmp 目录下的所有文件
echo "Cleaning /var/tmp directory..." >> $LOG_FILE
rm -rf /var/tmp/*
# 删除用户主目录下的 .cache 目录
echo "Cleaning user cache directories..." >> $LOG_FILE
find /home -type d -name ".cache" -exec rm -rf {} \;
# 删除用户主目录下的 .local/share/Trash 目录
echo "Cleaning user trash directories..." >> $LOG_FILE
find /home -type d -name ".local/share/Trash" -exec rm -rf {} \;
# 删除系统日志文件(保留最近的100条)
echo "Cleaning system log files..." >> $LOG_FILE
journalctl --vacuum-time=2weeks >> $LOG_FILE
# 删除APT缓存
echo "Cleaning APT cache..." >> $LOG_FILE
apt-get clean >> $LOG_FILE
# 删除旧的内核版本
echo "Cleaning old kernel versions..." >> $LOG_FILE
dpkg --list | grep linux-image | awk '{print $2}' | sort -V | tail -n +3 | xargs sudo apt-get -y purge --auto-remove >> $LOG_FILE
# 记录结束时间
echo "Cleanup completed at $(date)" >> $LOG_FILE
cleanup.sh
。chmod +x cleanup.sh
赋予脚本执行权限。sudo ./cleanup.sh
以管理员权限运行脚本。/var/log/cleanup.log
文件中,方便你查看清理历史。请谨慎使用此类脚本,并确保你了解每个命令的作用,以避免不必要的数据丢失。