created: 2021-03-10T06:38:49.000Z
つくられてから1時間以上経った未圧縮のファイルだけを削除する
こんなことをしたい場合
- 最終更新が60分前になっているファイル
- 名前が"*.zst"という形式ではないファイル (未圧縮)
- それらに対して
/usr/local/bin/zstd --rmを実行する
/usr/bin/find /path/to/files \
-type f \
-mmin +60 \
! -name "*.zst" \
-exec /usr/local/bin/zstd --rm {} \; \
オプション
-type f- ディレクトリでなくファイルだけを対象にする
-mmin +60- 最後に内容が変わったのが60分以上過去のファイルを対象とする
! -name "*.zst"- 名前が
*.zstでないファイルを対象とする
- 名前が
-exec /usr/local/bin/zstd --rm {}- それらのファイルに
zstd --rmを実行する - 実行時には
{}がファイル名に置き換わる
- それらのファイルに
cron
cronするなら /bin/bash -c とすると手っ取り早い
*/10 * * * * appuser /bin/bash -c '\
/usr/bin/find /path/to/files \
-type f \
-mmin +60 \
! -name "*.zst" \
-exec /usr/local/bin/zstd --rm {} \; \
'
