溫馨提示×

linux清理日志的腳本怎么寫

小億
127
2023-12-09 10:27:33
欄目: 智能運維

清理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值判斷文件的最后修改日期是否大于最大天數。如果是,則刪除文件并輸出刪除的文件名。

注意:運行該腳本需要具有適當的權限。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女