Linuxでログをきれいにするスクリプトの作成方法

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に設定した値に基づいてファイルの最終更新日が最大日数より経過しているかどうか判断します。経過していた場合、ファイルは削除され、削除したファイルの名前が出力されます。

注意:このスクリプトを実行するには適切な権限が必要です。

bannerAds