編寫一個Linux清理腳本可以幫助你自動化地刪除不再需要的文件和目錄,釋放磁盤空間。以下是一個基本的指南,幫助你編寫一個簡單的清理腳本。
首先,確定你想要清理的內容。常見的清理目標包括:
使用你喜歡的文本編輯器創建一個新的腳本文件。例如,使用nano
編輯器:
nano cleanup.sh
在腳本文件中編寫以下內容:
#!/bin/bash
# 設置日志文件路徑
LOG_FILE="/var/log/cleanup.log"
# 記錄開始時間
echo "Cleanup started at $(date)" >> $LOG_FILE
# 清理臨時文件
echo "Cleaning up temporary files..." >> $LOG_FILE
rm -rf /tmp/*
# 清理日志文件
echo "Cleaning up log files..." >> $LOG_FILE
find /var/log -type f -name "*.log" -exec truncate -s 0 {} \; 2>> $LOG_FILE
find /var/log -type f -name "*.log.*" -exec rm -f {} \; 2>> $LOG_FILE
# 清理緩存文件
echo "Cleaning up cache files..." >> $LOG_FILE
rm -rf /var/cache/*
# 清理舊的備份文件
echo "Cleaning up old backup files..." >> $LOG_FILE
find /path/to/backup -type d -name "backup-*" -mtime +7 -exec rm -rf {} \; 2>> $LOG_FILE
# 記錄結束時間
echo "Cleanup completed at $(date)" >> $LOG_FILE
#!/bin/bash
: 指定腳本解釋器為bash。LOG_FILE="/var/log/cleanup.log"
: 設置日志文件路徑。echo "Cleanup started at $(date)" >> $LOG_FILE
: 記錄清理開始時間。rm -rf /tmp/*
: 刪除/tmp
目錄下的所有文件。find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;
: 截斷所有日志文件。find /var/log -type f -name "*.log.*" -exec rm -f {} \;
: 刪除所有日志文件的備份。rm -rf /var/cache/*
: 刪除/var/cache
目錄下的所有文件。find /path/to/backup -type d -name "backup-*" -mtime +7 -exec rm -rf {} \;
: 刪除7天前的備份目錄。echo "Cleanup completed at $(date)" >> $LOG_FILE
: 記錄清理結束時間。保存并關閉腳本文件后,設置腳本的執行權限:
chmod +x cleanup.sh
運行腳本來執行清理操作:
./cleanup.sh
你可以使用cron
作業來定期運行這個腳本。編輯crontab
文件:
crontab -e
添加以下行來每天凌晨2點運行腳本:
0 2 * * * /path/to/cleanup.sh
通過以上步驟,你就可以編寫并運行一個基本的Linux清理腳本了。根據你的具體需求,可以進一步擴展和自定義腳本。