cronで任意の件数をバックアップ
例えばデータベースのバックアップを7日間ごとにやるなら曜日を利用して、
/usr/bin/pg_dump database > database-`/bin/date +\%A`.dump
と書けばよかったけれど、任意の日付間隔の場合どうしようかなあと考えた結果がこれ。
/usr/bin/pg_dump database > database-`expr \`date +%-s\` / 60 / 60 / 24 % [バックアップを取りたい件数]`.dump
1970/01/01からの秒数を日数に直した値の剰余をとればdatabase-0.dumpから連番でローテーションして生成されます。
例えば最新10日分なら
/usr/bin/pg_dump database > database-`expr \`date +%-s\` / 60 / 60 / 24 % 10`.dump
こんな感じにするとdatabase-0.dumpからdatabase-9.dumpが生成されます。どれが最新かはファイル名からは判別しづらいけど、まぁそこは生成された日付をみてください、ということで。