💬
gdriveを用いたOmeka Sの簡易バックアップ
概要
gdriveを用いたOmeka Sの簡易バックアップの方法についてのメモです。
ここでは例として、Amazon Lightsailで起動したLAMP環境にインストールしたOmeka Sを対象とします。インストール方法は以下をご確認ください。
gdriveのインストール
今回は、Google Driveにファイルをバックアップします。そのため、gdriveを使用します。以下の記事を参考に、gdriveをインストールしてください。
backup用のスクリプトを用意する
$HOMEディレクトリにおいて、例えばbackup.sh
というファイルを作成します。ファイルの内容の一例は以下です。
# 設定値
## Omeka Sのインストールディレクトリ
OMEKA_DIRNAME=htdocs
OUTPUT_DIRNAME=`date +%y-%m-%d`
## MySQLのユーザ名。
USERNAME=root
## MySQLのパスワード。以下のコマンドで確認できます。
## cat /home/bitnami/bitnami_application_password
PASSWORD=<パスワード>
## Omeka Sのデータベース名。例:omekas
DATABASE_NAME=<データベース名>
FOLDER_ID=<GoogleドライブのフォルダID>
# 出力フォルダの作成(日付に基づくフォルダ名を作成)
mkdir -p "$OUTPUT_DIRNAME"
# sqlのバックアップ
mysqldump -u $USERNAME -p$PASSWORD $DATABASE_NAME > $OUTPUT_DIRNAME/dump.sql
# omeka関連フォルダの圧縮
zip -q $OUTPUT_DIRNAME/$OMEKA_DIRNAME -r $OMEKA_DIRNAME
# Google Driveへのアップロード
./go/bin/gdrive upload --recursive --parent $FOLDER_ID $OUTPUT_DIRNAME
# 出力フォルダの削除
rm -rf $OUTPUT_DIRNAME
上記のファイルを作成後、以下のコマンドを実行します。
bitnami@ip-172-26-1-210:~$ sh backup.sh
Creating directory 22-05-12
Uploading 22-05-12/htdocs.zip
Uploading 22-05-12/dump.sql
結果、以下のように日付に基づくフォルダが作成され、その中にzipファイルとsqlファイルが保存されます。
cronの設定
上記のbackup.sh
スクリプトを定期的に実行するように設定します。以下を実行します。
bitnami@ip-172-26-1-210:~$ crontab -e
以下を追記します。以下は毎日0時0分に実行する例です。
0 0 * * * sh /home/bitnami/backup.sh
上記により、Google Driveを用いた定期的なバックアップが可能になります。
まとめ
今回示したbackup.sh
の内容は環境に応じて修正する必要があるかと思いますが、Google Driveを用いたOmeka Sの簡易なバックアップ方法として、参考になりましたら幸いです。
Discussion