【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などのサービスを使ってどんどん自動化していきたいです
ディスカッション
ピンバック & トラックバック一覧
discount androxal usa online pharmacy
buy androxal generic side effect
online order enclomiphene price discount
buy enclomiphene purchase line
how to buy rifaximin australia generic online
buy cheap rifaximin generic where to buy
Order xifaxan online no membership overnight shipping
order xifaxan generic germany
staxyn for sale
how to buy staxyn generic best price
cheapest buy avodart generic tablets
buy avodart price australia
ordering dutasteride no prescription needed
is there a generic drug for dutasteride
how to order flexeril cyclobenzaprine uk online
how to order flexeril cyclobenzaprine cheap prices
lowest price generic gabapentin
were can i get generic gabapentin online cheap
purchase fildena medication interactions
fildena in chicago over the counter
discount itraconazole for sale usa
itraconazole ups
přes přepážku kamagra
nízkonákladová lékárna na slunci kamagra
medicament kamagra commander
sans ordonnance kamagra sans ordonnance pilule contraceptive
この記事のトラックバックURL
nyaa
情報系の大学院生
いろいろな記事を書きます
新着記事
: サーバー
おうちサーバーにはミニPCが最適解だというお話【自宅サーバー】
はじめに 皆さん自宅サーバー興味ありますでしょうか 自宅サーバーやりたいなと思っ ...: サーバー
【Mattermost】運用効率化のためにアップデート自動化スクリプトを作ってみた
はじめに 研究室のMattermostの運用担当なのですが、ネイティブ環境で構築 ...: サーバー
【Gemini API × docker-mailserver】AIで受信メールのフォルダ分けを自動化してみた
※2025/05/19 dockerコンテナ再立ち上げの際に自動で本環境が再構築 ...: 音楽ゲーム
【L-TEK PAD購入&おすすめ改造】やはりコスパ最強。家庭用ではこれ一択
物欲に負けて遂に購入 前にGRANDPRIXで遊ぶだけなら改造ソフトマットで十分 ...: 音楽ゲーム
【総額5000円以下】高難易度も遊べる安価DDRマットを自作したメモ
アーケード風の本格メタルパッドは高すぎる 最近の円安でDDRのメタルパッド(アー ...タグ
Contents