毎月1日に実行されるスクリプトがあります。このスクリプトでは、先月1日以前に変更されたすべてのファイルを削除したいと思います。例えば。このスクリプトは3月1日に実行されます。 2月1日より前に作成されたファイルをすべて削除したいと思います。可能ですか?
ベストアンサー1
シェルスクリプトを使用してください。
#!/bin/sh
dir_to_check='/root/temp/somedir'
last_month=$(date -d "-1 month -$(($(date +%d)-1)) days" +%Y-%m-%d)
find "$dir_to_check" ! -newermt "$last_month" -type f -exec rm {} \;
dir_to_check='/root/temp/somedir'
ファイルを検索するディレクトリ(削除しようとしなかったらいいです。)みんな先月以前に作成されたコンピュータのファイル)。
last_month=$(date -d "-1 month -$(($(date +%d)-1)) days" +%Y-%m-%d)
- 変数を前月1日に設定します。
find "$dir_to_check" ! -newermt "$last_month" -type f -exec rm {} \;
- 変更された日付が前月1日より前のすべてのファイルを検索して削除します。