はじめに
対象読者
- Claris FileMaker ユーザーで FileMaker Server 管理している人
- 自動バックアップが一週間分残ってしまうと、ディスク領域を逼迫して大変だから、任意の日数分だけ残しておきたいというニーズがある人
本記事の概要
- cron で任意の日付のバックアップディレクトリを削除する
本題
削除指令
- 以下は二日前のディレクトリを削除する cron での記述例です
-
"2 days ago"
という表記がありますね。ここの数字を任意のものに変えることができます -
0 4 * * *
とあるのは、サーバに設定されたタイムゾーンにおける AM 04:00 毎日実行、という意です
-
0 4 * * * sudo rm -R /opt/FileMaker/FileMaker\ Server/Data/Backups/FMS_`date --date "2 days ago" +"\%Y-\%m-\%d"`_0000
cron の設定
- Linux 操作に明るくない方向けに少し補足しておきます
- FileMaker Server を稼働させている CentOS に特定ユーザーでログインした後で、以下コマンドを打ってください
crontab -e
- エディタ未指定の場合は何のエディタを使用するか訊かれるはずなので
vi
を選んでおきましょう -
vi
を選んだという前提で話を進めます。記述するために編集モードへ切り替える必要があるのでI
と入力して切り替えます - 先の記述例を元に任意の設定を入力してください
- 入力を終えたら
ESC
を押して編集モードを抜けます - さらに
:wq
と入力して保存します - 念のため本当に設定されているか確認するためにもう一度
crontab -e
を入力してみるとよいでしょう。先ほど保存した内容が確認できればよしです。今度は編集していないので:q
で終了します
Google ドライブへのバックアップと組み合わせ
- 以前に以下の記事を書いていました
CentOS7.8のFileMakerServerでRcloneを使ってGoogleドライブへファイルバックアップ
- こちらと組み合わせると、例えば以下のような cron の記述例が完成します
- 毎日 AM 04:00 に二日前時点のバックアップディレクトリを削除し、
- 毎日 AM 05:00 に本日時点のバックアップディレクトリを Google ドライブへ同期する
0 4 * * * sudo rm -R /opt/FileMaker/FileMaker\ Server/Data/Backups/FMS_`date --date "2 days ago" +"\%Y-\%m-\%d"`_0000
0 5 * * * rclone copy /opt/FileMaker/FileMaker\ Server/Data/Backups/ FileMakerBackup:directory/`date +\%Y`/
おわりに
感想
- Windows Server におけるタスクスケジューラなどと比べると cron の安心感たるやというのが何ともありますがいかがなものでしょうね……?
- 自動バックアップの残しておきたい日数は fmsadmin コマンドあたりで設定できて欲しかった