オンプレ版のバックアップ手順
いずれを選択いていただいてもかまいません
リストア方法は、このページの下の方へ
方法 1. サーバーを停止してファイルをコピーする
サーバーを停止する
$ docker-compose down
停止後、docker-compose.ymlと同じディレクトリにある /mongoフォルダ以下のファイルをまるごと別の場所にコピーする
注意: この方法はサーバー起動中に実行しないでください
方法 2. mongodumpを利用する
dockerホスト側の./mongo/dumpを、mongoコンテナの/dumpにマウントする
docker-compose.ymlのmongoコンテナに設定を追加
code:docker-compose.yml
mongo:
image: mongo:3.2.9
volumes:
# NOTE: ./mongo will create mongo directory on current directory.
# NOTE: Alter the path if you need. Don't change :/data/db.
- ./mongo/data/db:/data/db
# NOTE: directory for mongodump.
# NOTE: to create mongodb dump file, exec docker-compose exec mongo mongodump -o /dump.
- ./mongo/dump:/dump # この行を追加
サーバーを再起動
$ docker-compose down
$ docker-compose up -d
dockerホスト側の、docker-compose.ymlがあるディレクトリで
$ docker-compose exec mongo mongodump -o /dump
./mongo/dump以下にdumpデータが生成されます
dumpしたデータを別の安全な場所にコピーすれば、バックアップ完了です
方法 3. ディスクのスナップショット
Docker Imageを動かしている親OSのイメージをまるごとスナップショットを取ることでバックアップが可能です
詳しくはご利用中のOSまたはVMなどの説明をご覧ください
注意
一部のOSでは、起動中のmongodbのバックアップが正常に取れない例もあります
リストア手順を必ず確認してください
方法 4. エクスポート機能を利用する
プロジェクト単位でデータをエクスポートする機能があります
リストア手順
方法1の場合
ファイルをmongo/data下に戻してから
サーバーを起動する
$ docker-compose up
方法2の場合
dumpしたファイルを、docker-compose.ymlと同一ディレクトリの./mongo/dump下に戻してから
mongo dbだけを起動する
$ docker-compose up mongo
mongorestoreを実行
$ docker-compose exec mongo mongorestore --dir /dump
方法3の場合
それぞれのOS等の手順に従ってリストアしてください
方法4の場合
Scrapboxを起動したあとプロジェクトを作成し、project settingsページからインポートしてください
推奨設定
1日に1回の頻度で定期的にバックアップを取ることをおすすめします
バックアップの保存期間は1週間〜1ヶ月程度がよいでしょう
定期的に実行するには、方法2または3がよいです
方法1はサーバーを止めてしまう
方法4は自動実行できない
mongodumpを、OSのスケジューラー(linuxであればcron、windowsであればタスクスケジューラーなど)に登録しておくとよいでしょう
実行後、そのフォルダを別の場所にバックアップすることをお忘れなく!
upload-filesディレクトリをまるごとコピーする事でバックアップしてください