温馨提示×

Linux清理脚本怎么编写

小樊
33
2025-12-07 06:32:09
栏目: 智能运维

编写一个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

使用说明

  1. 保存脚本:将上述脚本保存为一个文件,例如 cleanup.sh
  2. 赋予执行权限:在终端中运行以下命令,赋予脚本执行权限:
    chmod +x cleanup.sh
    
  3. 运行脚本:在终端中运行脚本:
    ./cleanup.sh
    

注意事项

  • 备份重要数据:在运行清理脚本之前,请确保你已经备份了所有重要数据,以防误删。
  • 自定义清理项:根据你的需求,可以添加或删除清理项。例如,如果你使用的是其他包管理器(如 pacman),可以添加相应的清理命令。
  • 定时任务:你可以使用 cron 定时任务来定期运行这个脚本。例如,每天凌晨2点运行一次:
    crontab -e
    
    然后添加以下行:
    0 2 * * * /path/to/cleanup.sh
    

通过这些步骤,你可以创建一个基本的Linux清理脚本,并根据需要进行定制和扩展。

0