プログラマーのメモ書き

伊勢在住のプログラマーが気になることを気ままにメモったブログです

Rainloop の upgrade, 1.13.0 -> 1.14.0

rainloop のバージョンを 1.13.0 から 1.14.0 にアップグレードしたので、手順をメモっておきます。

なお、公式の説明は、下記のとおりです。

Upgrade / Documentation /RainLoop Webmail

(必要があれば) EBS ボリュームのスナップショットを作成

現在、rainloop を EC2 で動かしているので、トラブル時に復旧できるよう、EBSボリュームのスナップショットを作成しておきます。

アップグレード作業

最悪の場合、元に戻せるようにバックアップを取っておきます。

ubuntu@ip:~$ mkdir tmp/rainloop_bak
ubuntu@ip:~$ cp -p -R /var/www/html/rainloop tmp/rainloop_bak

アップグレードしたいバージョンを取得します。

ubuntu@ip:~$ wget https://github.com/RainLoop/rainloop-webmail/releases/download/v1.14.0/rainloop-community-1.14.0.zip

解凍して

ubuntu@ip:~$ mkdir tmp/rainloop_1.14.0_test
ubuntu@ip:~$ cd tmp/rainloop_1.14.0_test
ubuntu@ip:~/tmp/rainloop_1.14.0_test$ unzip ../../rainloop-community-1.14.0.zip 

コピー

ubuntu@ip:~$ 
ubuntu@ip:~$ cd tmp/rainloop_1.14.0_test/
ubuntu@ip:~/tmp/rainloop_1.14.0_test$ 
ubuntu@ip:~/tmp/rainloop_1.14.0_test$ sudo cp -p -R ./* /var/www/html/rainloop/

所有者を修正

ubuntu@ip:~/tmp/rainloop_1.14.0_test$ cd /var/www/html/rainloop/
ubuntu@ip:/var/www/html/rainloop$ sudo chown -R www-data:www-data ./*

webからアクセスして、管理画面を表示すると、

f:id:junichim:20201217154658p:plain

バージョン番号が更新されているのがわかります。

簡単ですね。

設定ファイルのバックアップ

ついでに、設定ファイルのバックアップを取るようにします

こんなシェルスクリプトを ~/bin/rainloop_settings_backup.sh という名前で作っておきます。

#!/bin/bash
#
# rainloop の設定情報をバックアップ用にまとめる
#
# written by Junichi MORI, 2020/12/17

#
# rainloop's dir
#
RAINLOOP_DIR=/var/www/html/rainloop
TARGET_DIR=data/
# SETTINGS_DIR is a relative path from TARGET_DIR
SETTINGS_DIR=_data_/_default_
CACHE_DIR=${SETTINGS_DIR}/cache
LOGS_DIR=${SETTINGS_DIR}/logs

# アーカイブファイル名
ARCHIVE_PRFX=rainloop_settings
ARCHIVE_SUFX=".tgz"
ARCHIVE_FILE=${ARCHIVE_PRFX}_`date '+%Y%m%d'`${ARCHIVE_SUFX}

# 設定情報のバックアップ
echo "tar zcvf ${ARCHIVE_FILE} -C ${RAINLOOP_DIR} --exclude=${CACHE_DIR} --exclude=${LOGS_DIR} ${TARGET_DIR}"
tar zcvf ${ARCHIVE_FILE} -C ${RAINLOOP_DIR} --exclude=${CACHE_DIR} --exclude=${LOGS_DIR} ${TARGET_DIR}

rainloop のキャッシュディレクトリは、

data/_data_/_default_/cache
 

ログディレクトリは

data/_data_/_default_/logs
 

なので、これらを除外するようにしています。

※ キャッシュディレクトリの場所は、下記の issues のディスカッションで述べられていました

実行しておきます。

ubuntu@ip:~$ ./bin/rainloop_settings_backup.sh

できたファイルを保存しておけばOKです。