【Mattermost】運用効率化のためにアップデート自動化スクリプトを作ってみた
はじめに
研究室のMattermostの運用担当なのですが、ネイティブ環境で構築してしまったためにアップデートが自動で走らず手動でファイルを上書きしないといけないのが億劫
頻繁にアップデートが入るので、スクリプトでファイルの置き換えを自動化してみようという試みです
スクリプト
ChatGPTの出力を参考に修正して作りました
インストール先(MM_DIR),バックアップ先(MM_BACKUP_DIR),mattermostサービスの所有ユーザー(MM_USER)を設定するだけで動きます
最新バージョンのダウンロードとインストール、設定の引継ぎを自動でやってくれます
研究室でこのスクリプトをcrontabで定期的に実行してアップデートの自動化をしています
Bash
#!/bin/bash
set -e
# 設定
MM_DIR="/opt/mattermost"
MM_BACKUP_DIR="/opt/mattermost_backup_$(date +%F_%T)"
MM_TMP_DIR="/tmp/mattermost_upgrade"
MM_USER="mattermost"
DOWNLOAD_PAGE="https://releases.mattermost.com/"
# 最新バージョンを取得
echo "[1/6] 最新バージョンを取得中..."
LATEST_TAG=$(curl -sL https://api.github.com/repositories/37448451/releases/latest | grep tag_name | cut -d '"' -f4)
LATEST_VERSION=${LATEST_TAG#v} # vを除去
DOWNLOAD_URL="https://releases.mattermost.com/${LATEST_VERSION}/mattermost-${LATEST_VERSION}-linux-amd64.tar.gz"
echo " → 最新バージョン: ${LATEST_VERSION}"
# サービス停止
echo "[2/6] サービスを停止します..."
sudo systemctl stop mattermost
# バックアップ
echo "[3/6] 現在の Mattermost をバックアップ: $MM_BACKUP_DIR"
sudo cp -a "$MM_DIR" "$MM_BACKUP_DIR"
# ダウンロード&展開
echo "[4/6] 新バージョンをダウンロード・展開します..."
mkdir -p "$MM_TMP_DIR"
cd "$MM_TMP_DIR"
curl -LO "$DOWNLOAD_URL"
tar -xzf "mattermost-${LATEST_VERSION}-linux-amd64.tar.gz"
# データ・設定を引き継ぐ
echo "[5/6] 設定とデータをマージします..."
sudo cp -a "$MM_DIR/config/config.json" "mattermost/config/"
sudo cp -a "$MM_DIR/data" "mattermost/"
# 元のディレクトリへ上書きコピー
sudo cp -a mattermost/* "$MM_DIR/"
# 所有者を再設定
sudo chown -R "$MM_USER":"$MM_USER" "$MM_DIR"
# サービス起動
echo "[6/6] サービスを起動します..."
sudo systemctl start mattermost
# バージョン確認
"$MM_DIR"/bin/mattermost version
echo "✅ アップグレード完了: Mattermost ${LATEST_VERSION}"
終わりに
運用って基本的にはめんどくさいのでAIなどのサービスを使ってどんどん自動化していきたいです
ディスカッション
コメント一覧
まだ、コメントがありません
この記事のトラックバックURL
nyaa
情報系の大学院生
いろいろな記事を書きます
新着記事
: サーバー
【Mattermost】運用効率化のためにアップデート自動化スクリプトを作ってみた
はじめに 研究室のMattermostの運用担当なのですが、ネイティブ環境で構築 ...: サーバー
【Gemini API × docker-mailserver】AIで受信メールのフォルダ分けを自動化してみた
※2025/05/19 dockerコンテナ再立ち上げの際に自動で本環境が再構築 ...: 音楽ゲーム
【L-TEK PAD購入&おすすめ改造】やはりコスパ最強。家庭用ではこれ一択
物欲に負けて遂に購入 前にGRANDPRIXで遊ぶだけなら改造ソフトマットで十分 ...: 音楽ゲーム
【総額5000円以下】高難易度も遊べる安価DDRマットを自作したメモ
アーケード風の本格メタルパッドは高すぎる 最近の円安でDDRのメタルパッド(アー ...: サーバー
リダイレクトのconf設定が効かない問題で2日溶かした【Apache】
/etc/httd/conf.d/vhost/配下にある、ルートドメイン(exa ...タグ
Contents