清理Linux日志的腳本可以使用以下命令:
#!/bin/bash
# 清理/var/log目錄下的日志文件
# 可根據需要修改日志文件目錄
# 設置要刪除的日志文件的最大天數
MAX_DAYS=7
# 獲取當前日期
CURRENT_DATE=$(date +"%Y%m%d")
# 遍歷指定目錄下的日志文件
for file in /var/log/*.log; do
# 獲取文件的最后修改日期
last_modified=$(stat -c %y "$file" | awk -F ' ' '{print $1}')
# 將日期轉換為時間戳
last_modified_timestamp=$(date -d "$last_modified" +"%s")
current_date_timestamp=$(date -d "$CURRENT_DATE" +"%s")
# 計算文件的天數差
days_diff=$(( (current_date_timestamp - last_modified_timestamp) / (24*60*60) ))
# 判斷文件的天數差是否大于最大天數
if [ "$days_diff" -gt "$MAX_DAYS" ]; then
# 刪除文件
rm "$file"
echo "Deleted file: $file"
fi
done
上述腳本會遍歷/var/log
目錄下的所有日志文件,并根據設定的MAX_DAYS
值判斷文件的最后修改日期是否大于最大天數。如果是,則刪除文件并輸出刪除的文件名。
注意:運行該腳本需要具有適當的權限。