バックアップファイルのローテーションというか、保持方針をTimeMachineのようにしたい。
この部分。
- Hourly backups for the past 24 hours
- Dayly backups for the past month
- weekly backups for all previous month
まず1時間おきにバックアップファイルを作成しているという前提で、二日前以前は一日一ファイルだけ残す。という部分をシェルのワンライナーにした。
ファイル名は backup_YYYYmmdd_HHMMDD
のような形を想定し、毎日0時のファイルを残すことにした。
ls | grep 'backup_' \ | grep -v $(date '+%Y%m%d') \ | grep -v $(date -d '-1 day' '+%Y%m%d') \ | grep -v _0000 \ | xargs rm
macなら date -v-1d '+%Y%m%d'
になる。
もっといい方法があるなら知りたい。うまくググれない。。。