背景
録画サーバーを運用していくうえで、録画ルールのバックアップが課題でした。
以下にも課題として書いたように、録画ルールをバックアップしていなかったのす。そのため、育ててきたルールがOS再インストールにより、1から作ることになってしまいました。
バックアップの方法
最も簡単な方法をとりました。
バックアップさえできればいいということで、コマンドをcronで1回/1日動かすことにしました。
コマンドは以下です。このコマンドにより20230506_rule_backup.json
というような日付の付与されたファイルが作成されます。
docker exec -d epgstation-nvenc npm run backup config/`date +\%Y\%m\%d`_rule_backup.json
ポイントはdocker exec
のオプションで使用している-d
のデタッチモードです。バックグラウンドでコマンドを起動するオプションです。
また、コンテナー名はdocker-compose.yml
の中でepgstation-nvenc
と定義しているため、コンテナIDを使用しなくてもOKです。
ファイル名にyyyymmddの名称を付与しているのは、1回/1日で必要十分だと考えたためです。やり方としては、ファイル名を固定にして上書きしていく方法もありますし、hhmmssのように秒まで付与することもできます。が、そこまで管理する必要はないと考えました。
そして、私はcronで夜中の1時に動かすようにしています。
00 1 * * * docker exec -d epgstation-nvenc npm run backup config/`date +\%Y\%m\%d`_rule_backup.json
ファイルの管理は見ないようにしている
このコマンドだと、ファイルを作り続けます。毎日1ファイル作成されるので、1年で365ファイル作成されることになります。
だけど、これは見ないようにしています。任意のタイミングで不要なバックアップファイルを削除するという運用を甘んじて受け入れています。