编写一个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/*
# 清理日志文件
echo "Cleaning log files..." >> $LOG_FILE
log_files=(
"/var/log/*.log"
"/var/log/syslog"
"/var/log/auth.log"
"/var/log/kern.log"
"/var/log/dmesg"
)
for log_file in "${log_files[@]}"; do
if [ -f "$log_file" ]; then
rm -f "$log_file"
fi
done
# 清理包管理器缓存
echo "Cleaning package manager cache..." >> $LOG_FILE
if command -v apt-get &> /dev/null; then
apt-get clean >> $LOG_FILE 2>&1
elif command -v yum &> /dev/null; then
yum clean all >> $LOG_FILE 2>&1
elif command -v dnf &> /dev/null; then
dnf clean all >> $LOG_FILE 2>&1
fi
# 清理用户缓存
echo "Cleaning user cache..." >> $LOG_FILE
rm -rf ~/.cache/*
rm -rf ~/.local/share/Trash/files/*
# 清理浏览器缓存(假设使用的是Chrome)
echo "Cleaning browser cache..." >> $LOG_FILE
rm -rf ~/.config/google-chrome/Default/Cache/*
# 记录结束时间
echo "Cleanup completed at $(date)" >> $LOG_FILE
cleanup.sh。chmod +x cleanup.sh
./cleanup.sh
pacman),可以添加相应的清理命令。cron 定时任务来定期运行这个脚本。例如,每天凌晨2点运行一次:crontab -e
然后添加以下行:0 2 * * * /path/to/cleanup.sh
通过这些步骤,你可以创建一个基本的Linux清理脚本,并根据需要进行定制和扩展。