概要ログやDBのバックアップをタイムスタンプをつけてローテーションをしたいことがあると思います。今回はその際に使うスクリプトの実例を含めて解説していきたいと思います。今回は「DBのダンプデータを毎日取得して、過去1週間分を保存しておきたい」という要望を想定します。サーバーはubuntu18.04を想定しています。コード紹介では早速実例を出して紹介していきたいと思います。"$BACKUP_DIR"/"$PASTDAY"fi・6行目dateコマンドは後ろに表示形式を指定することで、任意の形で日付を出力できます。(unixタイムなども可能です)今回はわかりやすくyyyymmddの形を設定しています。ago”と指定することで7日前の日付を取得しています。・9行目ここで、今日付のディレクトリを作成します。・10行目ここには実際にやりたいことを記載します。今回はmongoDBのバックアップを取得し、先程作成した本日の日付のディレクトリに格納しています。・13行目7行目で取得した日付のディレクトリが存在した場合、そのディレクトリごと削除するようになっています。cronに仕込む上記のスクリプトを/home/ubuntu/db_backup/dairy_backup.shと保存したとすると、そのスクリプトを定期的に実行するcronを登録する必要があります。/home/ubuntu/db_backup/dairy_backup.sh上記の場合は毎日、午前0時10分にスクリプトが実行されます。まとめこうする事によって、最初の6日間は7日前のディレクトリが存在しないので、次々とバックアップファイルが作成されていきます。7日目以降は新しいバックアップファイルが取得されるたびに古い方から自動的に削除されていき、バックアップファイルでサーバーがいっぱいとなってしまうことを防ぐことができます。