linux

Linux清理脚本怎么写

小樊
43
2025-08-10 04:56:57
栏目: 智能运维

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

使用说明:

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

注意事项:

请谨慎使用此类脚本,并确保你了解每个命令的作用,以避免不必要的数据丢失。

0
看了该问题的人还看了