【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
情報系の大学院生
いろいろな記事を書きます
新着記事
: 音楽ゲーム
【Sparkle Shower皆伝】EPOLIS中伝から2年かかった皆伝までの成長記録メモ
皆伝...やっと取れた...歓喜!!!! 長かった...EPOLIS中伝からこの ...: パソコン/IT関連
Windows用のアニメカーソルを簡単にMacで使えるためのアプリを作った【Mousecape】
カーソルの変換がめんどくさ過ぎるのでアプリで効率化した 近年マウスカーソルは様々 ...: その他
新卒でインフラエンジニアとして大手に内定した私の新卒就活についてのメモ【エンジニア就活】
はじめに この記事はいち情報系大学院生がエンジニアとして大手(5大SIerのどこ ...: パソコン/IT関連
理想の分割スペースキーボードが欲しかったので初めて自作したメモ【自作キーボード DK6064】
はじめに (自作キーボードを始めた動機) 私はHHKB Professional ...: サーバー
おうちサーバーにはミニPCが最適解だというお話【自宅サーバー】
はじめに 皆さん自宅サーバー興味ありますでしょうか 自宅サーバーやりたいなと思っ ...タグ
Contents