upgrade-mattermost.sh: add support for PostgreSQL database.
This commit is contained in:
		| @@ -218,6 +218,8 @@ DEFAULT_FQHN_HOSTNAME="$(hostname -f)" | |||||||
| DEFAULT_MATTERMOST_USER="mattermost" | DEFAULT_MATTERMOST_USER="mattermost" | ||||||
| DEFAULT_MATTERMOST_GROUP="mattermost" | DEFAULT_MATTERMOST_GROUP="mattermost" | ||||||
|  |  | ||||||
|  | DEFAULT_DB_TYPE="pgsql" | ||||||
|  |  | ||||||
| DEFAULT_MATTERMOST_BASE_INSTALL_PATH="/opt" | DEFAULT_MATTERMOST_BASE_INSTALL_PATH="/opt" | ||||||
| DEFAULT_MATTERMOST_TMP_DIR="/tmp" | DEFAULT_MATTERMOST_TMP_DIR="/tmp" | ||||||
|  |  | ||||||
| @@ -231,6 +233,9 @@ fi | |||||||
|  |  | ||||||
| [[ -n "$FQHN_HOSTNAME" ]] && DEFAULT_FQHN_HOSTNAME="$FQHN_HOSTNAME" | [[ -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 | if [[ -z "$DB_NAME" ]] ; then | ||||||
|    fatal "Missing database name (DB_NAME)!" |    fatal "Missing database name (DB_NAME)!" | ||||||
| fi | fi | ||||||
| @@ -404,12 +409,13 @@ do | |||||||
| done | done | ||||||
|  |  | ||||||
|  |  | ||||||
| if [[ -n "$MYSQL_CREDENTIAL_ARGS" ]] ; then | 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 |       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.!" |          fatal "Parameter MYSQL_CREDENTIAL_ARGS is given, but a connection to MySQL Service failed.!" | ||||||
|       fi |       fi | ||||||
|       USE_MYSQL_CREDENTIAL_ARGS=true |       USE_MYSQL_CREDENTIAL_ARGS=true | ||||||
| else |    else | ||||||
|       USE_MYSQL_CREDENTIAL_ARGS=false |       USE_MYSQL_CREDENTIAL_ARGS=false | ||||||
|  |  | ||||||
|       _MYSQL_ROOT_PW="" |       _MYSQL_ROOT_PW="" | ||||||
| @@ -437,6 +443,7 @@ else | |||||||
|             fatal "MySQL seems not be running. Start MySQL Service and try installing mattermost again." |             fatal "MySQL seems not be running. Start MySQL Service and try installing mattermost again." | ||||||
|          fi |          fi | ||||||
|       done |       done | ||||||
|  |    fi | ||||||
| fi | fi | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -460,10 +467,18 @@ echo -e "   Mattermost user...................: $MATTERMOST_USER" | |||||||
| echo -e "   Mattermost group..................: $MATTERMOST_GROUP" | echo -e "   Mattermost group..................: $MATTERMOST_GROUP" | ||||||
| echo "" | echo "" | ||||||
| echo "" | echo "" | ||||||
| if $USE_MYSQL_CREDENTIAL_ARGS ; then | if [[ "${DB_TYPE}" = "pgsql" ]] ; then | ||||||
|    echo -e "   MYSQL_CREDENTIAL_ARGS.............: $MYSQL_CREDENTIAL_ARGS" |    echo -e "   Database Type.....................: PostgreSQL" | ||||||
| else | else | ||||||
|  |    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...............: **" |       echo -e "   Root password MySQL...............: **" | ||||||
|  |    fi | ||||||
| fi | fi | ||||||
| echo "" | echo "" | ||||||
| echo -e "   Database Name.....................: $DB_NAME" | echo -e "   Database Name.....................: $DB_NAME" | ||||||
| @@ -586,9 +601,10 @@ else | |||||||
| fi | fi | ||||||
|  |  | ||||||
| echononl "Backup mattermost database.." | echononl "Backup mattermost database.." | ||||||
| mysqldump --login-path=local --opt $DB_NAME \ | if [[ "${DB_TYPE}" = "mysql" ]]; then | ||||||
|  |    mysqldump --login-path=local --opt $DB_NAME \ | ||||||
|       > ${MATTERMOST_BASE_INSTALL_PATH}/${DB_NAME}-${backup_date}.sql 2> $log_file |       > ${MATTERMOST_BASE_INSTALL_PATH}/${DB_NAME}-${backup_date}.sql 2> $log_file | ||||||
| if [[ $? -ne 0 ]]; then |    if [[ $? -ne 0 ]]; then | ||||||
|       echo_failed |       echo_failed | ||||||
|       error "$(cat "$log_file")" |       error "$(cat "$log_file")" | ||||||
|  |  | ||||||
| @@ -600,8 +616,26 @@ if [[ $? -ne 0 ]]; then | |||||||
|          read OK |          read OK | ||||||
|       done |       done | ||||||
|       [[ $OK = "yes" ]] || fatal "Stopped by user" |       [[ $OK = "yes" ]] || fatal "Stopped by user" | ||||||
| else |    else | ||||||
|       echo_ok |       echo_ok | ||||||
|  |    fi | ||||||
|  | else | ||||||
|  |    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 | fi | ||||||
|  |  | ||||||
| echononl "Backup mattermost installation directory.." | echononl "Backup mattermost installation directory.." | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user