一定期間を過ぎたファイルを移動とか削除とかするシェルスクリプト
サーバ上のファイルバックアップや定期的な削除など。
CRONでシェルでサクッと自動化。
ファイルのタイムスタンプを現在時刻と比較して・・・ なコードを長々書いてたんですが、find使えば1行でした・・・。下記の例では、CSVファイルで5分以上経過したものを対象にしています。
1 2 3 4 5 6 7 8 9 10 11 |
#!/bin/bash cd /home/example.com/public_html/temp/ # 移動する場合 find ./ -mmin +5 -name "*.csv" | xargs mv --target-directory=./temp2 # 削除する場合 find ./ -mmin +5 -name "*.csv" | xargs rm -f exit |
時間指定オプションはfindコマンドのmtimeオプションまとめ – Qiitaに詳しく。アクセスされた日時やステータス修正日時が簡単に利用可なのはさすがコマンド、パワフルだなぁと感じます。
とりあえず、find超便利。
Copyright secured by Digiprove © 2017