shell 遞歸遍歷目錄下的所有文件並刪除5分鐘前的文件

概述

定時遞歸遍歷目錄下的所有文件並刪除5分鐘前的文件。不刪除文件夾,只刪除過期的文件。

代碼

#!/bin/bash


jd_tim() {
    filename=$1

    timestamp=$(date +%s)
    filetimestamp=$(stat -c %Y $filename)


    if [ $[$timestamp - $filetimestamp] -lt 300 ]; then
        echo "less than five min ========== " $1
    else
        echo timestamp $timestamp
        echo filetimes $filetimestamp
        echo during is $[$timestamp - $filetimestamp]
        echo "delete it >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>delete " $1
        rm $1 -f
    fi

}

read_dir(){

    for file in `ls -a $1`
    do
        if [ -d $1"/"$file ]; then
            #echo in "-d file " $file
            if [[ $file != '.' && $file != '..' ]]; then
                #echo in "-------------------------------------- file " $file
                read_dir $1"/"$file
            #else
            #    echo "else iiii file is " $file
            fi

        else
            #echo "else-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "  $1"/"$file
            jd_tim $1"/"$file
        fi
    done
}



while [ 1 ]
do
    echo `date` " : " "$1 is " $1
    read_dir $1
    sleep 10
done

調用

/bin/bash /usr/bin/judge.sh /mnt/face/faceCapture/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章