やったこと
Amazon Lightsail(仮想プライベートサーバー)で立てた Bitnami Redmine のバックアップを、ローカル(自分のパソコン)でとった。
動機
データ保管料金を取られない環境に、バックアップを取りたいから!です。
Lightsail で立てた Redmine の 'スナップショット' をAWS (EC2, S3など) で保存しておけば、バックアップにはなるだろう。しかし、ケチな僕にとって、スナップショットを溜めておくだけでお金が発生するのは嫌じゃ。
そこで、Redmine のデータをローカルに落とせば、無料でバックアップを取れるだろうと目論んだ。
環境
[ローカル]
(例1)
- Ubuntu 20.04.2 LTS
(例2)
- Windows10
- WSL1 Ubuntu-20.04
データを落としてくる時に、scpコマンドを使いたかったから Ubuntu を使用。Windows10 にて WSL でファイルをで落としたら、ダウンロード先が **\\wsl$**になることに注意。
[外部サーバ]
- Amazon Lightsail
具体的な手順
大きく分けて、3つだ。
- バックアップするファイルを決める。
- ローカルに落とす準備をする(SSH接続できるようにする)。
- ローカルに落とす。
さあ、それぞれ詳しく見ていこう。
###1 必要なファイルとは?
バックアップ対象として、次の3つがあれば十分そうだった。
- files(Redmineにアップした画像やPDFが入っている。)
- db_redmine.dmp(Redmineのデータベース。構成情報?)
- config
2つ目の「db_redmine.dmp」ファイルは、インスタンスのターミナルで下記のコマンドを叩いて生成。
Redmine.JPの データのバックアップ方法 には、上2つだけを対象としているが、 3つ目の「config」フォルダが無いと、Redmineの「設定」が無くなり、アプリケーションタイトル、ウェルカムメッセージが消える(笑)。
bitnami@ip-000-00-00-000:~/apps$ mysqldump -u root -p redmine > /tmp/db_redmine.dmp
それぞれのファイルの場所は下記の通り。
/home/bitnami/apps/redmine/htdocs/files
/tmp/db_redmine.dmp
/home/bitnami/apps/redmine/htdocs/config
この3つを使ってもリストアがうまくできなかった場合は、「plugins」ファイルなども落としてみよう。
###2 ローカルに落とす準備(SSH接続できるようにする)
Amazon Lightsail からデフォルトのプライベートキー「LightsailDefaultKey-ap-northeast-1.pem」をダウンロードすれば、次のコマンドで ssh 接続できる。ダウンロードはボタンをクリックするだけ。
ssh -i ~/redmine/LightsailDefaultKey-ap-northeast-1.pem bitnami@00.000.00.00
###3 ローカルに落とす。
ローカルのターミナルで下記のコマンドを叩いて必要なフォルダやファイルをダウンロード。
scp -r -i ~/redmine/LightsailDefaultKey-ap-northeast-1.pem bitnami@00.000.00.00:/home/bitnami/apps/redmine/htdocs/files ~/files
scp -i ~/redmine/LightsailDefaultKey-ap-northeast-1.pem bitnami@00.000.00.00:/tmp/db_redmine.dmp ~/db_redmine.dmp
scp -r -i ~/redmine/LightsailDefaultKey-ap-northeast-1.pem bitnami@00.000.00.00:/home/bitnami/apps/redmine/htdocs/config ~/config
以上でバックアップは終わりだ。NASやUSBにも保存したりして、データを大切に保管しておこう。
おつかれさん!!
バックアップしたデータを使って、本当に Redmine を再現(リストア)できるか?の 記事 も書いたから、必要な時に見てみてな!