在CentOS系統中,編寫一個Java日志清理腳本可以幫助你自動管理日志文件,防止它們占用過多磁盤空間。以下是一個示例腳本,它將刪除指定目錄下超過指定天數的日志文件。
#!/bin/bash
# 配置參數
LOG_DIR="/path/to/your/log/directory" # 替換為你的日志目錄路徑
DAYS_TO_KEEP=7 # 替換為你希望保留的天數
# 檢查日志目錄是否存在
if [ ! -d "$LOG_DIR" ]; then
echo "日志目錄不存在: $LOG_DIR"
exit 1
fi
# 刪除超過指定天數的日志文件
find "$LOG_DIR" -type f -name "*.log" -mtime +$DAYS_TO_KEEP -exec rm -f {} \;
echo "日志清理完成,刪除了超過 $DAYS_TO_KEEP 天的日志文件。"
配置參數:
LOG_DIR
:指定日志文件所在的目錄路徑。DAYS_TO_KEEP
:指定保留日志文件的天數。檢查日志目錄是否存在:
if [ ! -d "$LOG_DIR" ]; then
檢查日志目錄是否存在,如果不存在則輸出錯誤信息并退出腳本。刪除超過指定天數的日志文件:
find
命令查找指定目錄下所有 .log
文件,并使用 -mtime +$DAYS_TO_KEEP
參數篩選出超過指定天數的文件。-exec rm -f {} \;
對篩選出的文件執行刪除操作。輸出清理完成信息:
clean_logs.sh
。LOG_DIR
和 DAYS_TO_KEEP
參數,以適應你的需求。chmod +x clean_logs.sh
./clean_logs.sh
為了定期執行這個腳本,你可以使用 cron
定時任務。以下是如何設置一個每天凌晨2點執行腳本的示例:
編輯 crontab
文件:
crontab -e
添加以下行:
0 2 * * * /path/to/clean_logs.sh >> /var/log/clean_logs.log 2>&1
這行配置表示每天凌晨2點執行 clean_logs.sh
腳本,并將輸出和錯誤信息記錄到 /var/log/clean_logs.log
文件中。
通過以上步驟,你可以輕松地在CentOS系統中設置一個自動化的Java日志清理腳本。