[Shell Script] DBであるプロセスが走っている場合、デプロイ等の処理を中断させる

./process-check.sh

#!/bin/bash
set -Ceu

# Confirm Foo process
CONF_PROCESS=`mysql --defaults-extra-file=./.access-db.conf -h test.ap-northeast-1.rds.amazonaws.com -Be 'show processlist;' | grep foo | wc -l`
echo "fooのプロセス数は ${CONF_PROCESS} です。"

if [ ! ${CONF_PROCESS} -eq 0 ]; then
    echo 'fooのprocessが走っている為、デプロイを中断します。'
    exit 1
fi
    echo 'fooのプロセスが走っていない為、デプロイを行います。'

...{デプロイ処理}...

./.access-db.conf

[client]
user     = "{DB_USER_NAME}"
password = "{DB_USER_PASS}"

権限を変更する。

chmod 0600 ./.access-db.conf

実行する。

$ sh process-check.sh
fooのプロセス数は        0 です。
fooのプロセスが走っていない為、デプロイを行います。

コメントを残す

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