upgrade-mattermost.sh: add support for PostgreSQL database.
This commit is contained in:
parent
2bdeadaa17
commit
66d3210184
@ -218,6 +218,8 @@ DEFAULT_FQHN_HOSTNAME="$(hostname -f)"
|
||||
DEFAULT_MATTERMOST_USER="mattermost"
|
||||
DEFAULT_MATTERMOST_GROUP="mattermost"
|
||||
|
||||
DEFAULT_DB_TYPE="pgsql"
|
||||
|
||||
DEFAULT_MATTERMOST_BASE_INSTALL_PATH="/opt"
|
||||
DEFAULT_MATTERMOST_TMP_DIR="/tmp"
|
||||
|
||||
@ -231,6 +233,9 @@ fi
|
||||
|
||||
[[ -n "$FQHN_HOSTNAME" ]] && DEFAULT_FQHN_HOSTNAME="$FQHN_HOSTNAME"
|
||||
|
||||
if [[ -z "$DB_TYPE" ]] ; then
|
||||
fatal "Missing database type (DB_TYPE)!"
|
||||
fi
|
||||
if [[ -z "$DB_NAME" ]] ; then
|
||||
fatal "Missing database name (DB_NAME)!"
|
||||
fi
|
||||
@ -404,39 +409,41 @@ do
|
||||
done
|
||||
|
||||
|
||||
if [[ -n "$MYSQL_CREDENTIAL_ARGS" ]] ; then
|
||||
if ! $(mysql $MYSQL_CREDENTIAL_ARGS -N -s -e 'quit' > /dev/null 2>&1) ; then
|
||||
fatal "Parameter MYSQL_CREDENTIAL_ARGS is given, but a connection to MySQL Service failed.!"
|
||||
fi
|
||||
USE_MYSQL_CREDENTIAL_ARGS=true
|
||||
else
|
||||
USE_MYSQL_CREDENTIAL_ARGS=false
|
||||
|
||||
_MYSQL_ROOT_PW=""
|
||||
echo ""
|
||||
echo -e "\033[32m--\033[m"
|
||||
echo ""
|
||||
echo "Insert root password of MySQL Database Service"
|
||||
echo ""
|
||||
while [ "X${_MYSQL_ROOT_PW}" = "X" ]; do
|
||||
|
||||
echononl "Passworteingabe: "
|
||||
read -s _MYSQL_ROOT_PW
|
||||
if [ "X${_MYSQL_ROOT_PW}" = "X" ]; then
|
||||
echo -e "\n\t\033[33m\033[1mPassworteingabe erforderlich!\033[m\n"
|
||||
continue
|
||||
if [[ "$DB_TYPE" = "mysql" ]] ; then
|
||||
if [[ -n "$MYSQL_CREDENTIAL_ARGS" ]] ; then
|
||||
if ! $(mysql $MYSQL_CREDENTIAL_ARGS -N -s -e 'quit' > /dev/null 2>&1) ; then
|
||||
fatal "Parameter MYSQL_CREDENTIAL_ARGS is given, but a connection to MySQL Service failed.!"
|
||||
fi
|
||||
if $(pgrep mysqld_safe > /dev/null 2>&1) || $(pgrep mysqld > /dev/null 2>&1); then
|
||||
if $(mysql --user="root" --password="$_MYSQL_ROOT_PW" -N -s -e 'quit' > /dev/null 2>&1) ; then
|
||||
MYSQL_ROOT_PW=$_MYSQL_ROOT_PW
|
||||
else
|
||||
echo -e "\n\t\033[33m\033[1mFalsches Passwort\033[m\n"
|
||||
_MYSQL_ROOT_PW=""
|
||||
USE_MYSQL_CREDENTIAL_ARGS=true
|
||||
else
|
||||
USE_MYSQL_CREDENTIAL_ARGS=false
|
||||
|
||||
_MYSQL_ROOT_PW=""
|
||||
echo ""
|
||||
echo -e "\033[32m--\033[m"
|
||||
echo ""
|
||||
echo "Insert root password of MySQL Database Service"
|
||||
echo ""
|
||||
while [ "X${_MYSQL_ROOT_PW}" = "X" ]; do
|
||||
|
||||
echononl "Passworteingabe: "
|
||||
read -s _MYSQL_ROOT_PW
|
||||
if [ "X${_MYSQL_ROOT_PW}" = "X" ]; then
|
||||
echo -e "\n\t\033[33m\033[1mPassworteingabe erforderlich!\033[m\n"
|
||||
continue
|
||||
fi
|
||||
else
|
||||
fatal "MySQL seems not be running. Start MySQL Service and try installing mattermost again."
|
||||
fi
|
||||
done
|
||||
if $(pgrep mysqld_safe > /dev/null 2>&1) || $(pgrep mysqld > /dev/null 2>&1); then
|
||||
if $(mysql --user="root" --password="$_MYSQL_ROOT_PW" -N -s -e 'quit' > /dev/null 2>&1) ; then
|
||||
MYSQL_ROOT_PW=$_MYSQL_ROOT_PW
|
||||
else
|
||||
echo -e "\n\t\033[33m\033[1mFalsches Passwort\033[m\n"
|
||||
_MYSQL_ROOT_PW=""
|
||||
fi
|
||||
else
|
||||
fatal "MySQL seems not be running. Start MySQL Service and try installing mattermost again."
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
@ -460,10 +467,18 @@ echo -e " Mattermost user...................: $MATTERMOST_USER"
|
||||
echo -e " Mattermost group..................: $MATTERMOST_GROUP"
|
||||
echo ""
|
||||
echo ""
|
||||
if $USE_MYSQL_CREDENTIAL_ARGS ; then
|
||||
echo -e " MYSQL_CREDENTIAL_ARGS.............: $MYSQL_CREDENTIAL_ARGS"
|
||||
if [[ "${DB_TYPE}" = "pgsql" ]] ; then
|
||||
echo -e " Database Type.....................: PostgreSQL"
|
||||
else
|
||||
echo -e " Root password MySQL...............: **"
|
||||
echo -e " Database Type.....................: MySQL"
|
||||
fi
|
||||
echo ""
|
||||
if [[ "${DB_TYPE}" = "mysql" ]]; then
|
||||
if $USE_MYSQL_CREDENTIAL_ARGS ; then
|
||||
echo -e " MYSQL_CREDENTIAL_ARGS.............: $MYSQL_CREDENTIAL_ARGS"
|
||||
else
|
||||
echo -e " Root password MySQL...............: **"
|
||||
fi
|
||||
fi
|
||||
echo ""
|
||||
echo -e " Database Name.....................: $DB_NAME"
|
||||
@ -586,22 +601,41 @@ else
|
||||
fi
|
||||
|
||||
echononl "Backup mattermost database.."
|
||||
mysqldump --login-path=local --opt $DB_NAME \
|
||||
> ${MATTERMOST_BASE_INSTALL_PATH}/${DB_NAME}-${backup_date}.sql 2> $log_file
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo_failed
|
||||
error "$(cat "$log_file")"
|
||||
if [[ "${DB_TYPE}" = "mysql" ]]; then
|
||||
mysqldump --login-path=local --opt $DB_NAME \
|
||||
> ${MATTERMOST_BASE_INSTALL_PATH}/${DB_NAME}-${backup_date}.sql 2> $log_file
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo_failed
|
||||
error "$(cat "$log_file")"
|
||||
|
||||
echononl "continue anyway [yes/no]: "
|
||||
read OK
|
||||
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
||||
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
||||
echononl "Wrong entry! - repeat [yes/no]: "
|
||||
echononl "continue anyway [yes/no]: "
|
||||
read OK
|
||||
done
|
||||
[[ $OK = "yes" ]] || fatal "Stopped by user"
|
||||
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
||||
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
||||
echononl "Wrong entry! - repeat [yes/no]: "
|
||||
read OK
|
||||
done
|
||||
[[ $OK = "yes" ]] || fatal "Stopped by user"
|
||||
else
|
||||
echo_ok
|
||||
fi
|
||||
else
|
||||
echo_ok
|
||||
pg_dump -U ${DB_USER} -F p -c ${DB_NAME} -f ${MATTERMOST_BASE_INSTALL_PATH}/${DB_NAME}-${backup_date}.sql 2> $log_file
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo_failed
|
||||
error "$(cat "$log_file")"
|
||||
|
||||
echononl "continue anyway [yes/no]: "
|
||||
read OK
|
||||
OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')"
|
||||
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
|
||||
echononl "Wrong entry! - repeat [yes/no]: "
|
||||
read OK
|
||||
done
|
||||
[[ $OK = "yes" ]] || fatal "Stopped by user"
|
||||
else
|
||||
echo_ok
|
||||
fi
|
||||
fi
|
||||
|
||||
echononl "Backup mattermost installation directory.."
|
||||
|
Loading…
Reference in New Issue
Block a user