東京生まれHOUSE MUSIC育ち

悪そうな奴はだいたい友達なの?

EPGStationのルールを定期的にバックアップする


スポンサードリンク

背景

録画サーバーを運用していくうえで、録画ルールのバックアップが課題でした。

以下にも課題として書いたように、録画ルールをバックアップしていなかったのす。そのため、育ててきたルールがOS再インストールにより、1から作ることになってしまいました。

nomusicnolife.hatenablog.com

バックアップの方法

最も簡単な方法をとりました。

バックアップさえできればいいということで、コマンドを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ファイル作成されることになります。

だけど、これは見ないようにしています。任意のタイミングで不要なバックアップファイルを削除するという運用を甘んじて受け入れています。