Mastodonアップデート用シェルスクリプト

標準

アクティブユーザー数が増え、極力ダウンタイムを減らしたいので自動化するために作成したシェルスクリプトを備忘で公開します。
システムによってパスとか全然違うので、ご利用の際はご自身の環境に合わせてからお使いください。
何か不備などありましたら、コメントお願いします。

#!/bin/sh

echo "########## Removing old backup data ##########"
rm -rf /mstdn_backup/old/postgresql
rm -rf /mstdn_backup/old/redis
mv -v /mstdn_backup/postgresql /mstdn_backup/old/postgresql
mv -v /mstdn_backup/redis /mstdn_backup/old/redis
rm -rf /mstdn_backup/postgresql
rm -rf /mstdn_backup/redis

echo "########## Refreshing the git data of mastodon ##########"
git fetch
git status
git stash save
git checkout v2.0.0
git stash pop

echo "########## Saving new backup ##########"
docker cp mastodon_db_1:/var/lib/postgresql /mstdn_backup/postgresql
docker cp mastodon_redis_1:/data /mstdn_backup/redis

echo "########## Building ##########"
docker-compose pull
docker-compose build
docker-compose run --rm web rails db:migrate
docker-compose run --rm web rails assets:precompile

echo "########## Stopping Mastodon ##########"
touch /var/tmp/503
docker-compose stop

echo "########## Starting Mastodon ##########"
docker-compose up -d

echo -n "########## If you are in ready, press ANY KEY! ##########"
read okpress

echo "########## Deleting tempolary files ##########"
rm -f /var/tmp/503
docker system prune -f

echo "########## Finish! Check yourself whether updating was succeed. ##########"

ファイル作成後は

chmod +x update.sh

すると、それからは

./update.sh

だけで起動できるようになります。

投稿者プロフィール

yoshipc
コンピューター関連を得意としています。PHPが専門です(尚、技量はお察し)。このブログとMastodonのインスタンスを運営・管理しています。よろしくお願いいたします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です