リストから過去6月のファイルを削除する方法

リストから過去6月のファイルを削除する方法

過去6月のファイルをリストから削除する方法

#!/bin/bash
echo "hi"
path="/home/alert/VideoApplicationAPI.v1/logs"
dayDiff=365

DATE=`date +%Y-%m-%d`
for filename in $path/*.*; do
    modDate=$(stat -c %y "$filename") 
    modDate=${modDate%% *} 
    echo $filename:$modDate
    echo "( `date -d $DATE +%s` - `date -d $modDate +%s`) / (24*3600)" | bc -l
done
echo $DATE

答え1

touch -d '2018-06-01 00:00:00' START
touch -d '2018-07-01 00:00:00' END
find <path of files to be deleted> -type f -newer START -not -newer END -exec rm {} \;

開始と終了は日付範囲を提供します。それが2018年6月でした。まず、findコマンドを実行して得られたすべてのファイルが何であるかを確認できます。ファイルが正しい場合は、上記のコマンドを実行してください。実行中に問題が発生した場合に備えて、すべてのファイルをバックアップしてください。

関連情報