1. ホーム
  2. スクリプト・コラム
  3. パール
  4. 基本チュートリアル

ファイル自動削除のためのサーバースクリプト

2022-01-29 10:37:29

マッチングパス対応 マッチングファイル名対応 長期未アクセス時の自動クリーンナップ対応

コピーコード コードは以下の通りです。

# for each system cleanup file script, filepath reg_filename fileatime
#author [email protected]
#date 2013-8-22 14:51:52
#! /bin/sh

if [ $# -eq 0 ];then
    echo "Usage: sh auto_clear_file.sh clear_filepath clear_regfilename filecreatetime"
    echo "eg: sh auto_clear_file.sh /tmp/log/ user_log -7day"
    exit
fi

filepath=$1
regfilename=$2


if [ "-$3" = "-" ];then
    filectime=`date -d -7day '+ %s'`
else
    filectime=`date -d $3 '+ %s'`
fi

log=`ls $filepath | grep $regfilename`
echo $log

for file in ${log}
do
    echo $file
    fileatime=`stat -c %X ${filepath}${file}`

    if [ ${fileatime} -lt ${filectime} ]; then
        opt=`rm -f ${filepath}${file}`
        echo $opt
    fi 
done