mirror of
https://github.com/itiligent/Easy-Guacamole-Installer.git
synced 2025-12-13 18:02:32 +00:00
add scripts improved, backup gaucd before nginx, standalone install of ssl for existing nginx, allow space in sql passwords, added upgrade script, improved tomcat self detection, simplified how SSL scrips detect local settings, many tidy ups
66 lines
1.7 KiB
Bash
66 lines
1.7 KiB
Bash
#!/bin/bash
|
|
#######################################################################################################################
|
|
# Guacamole MySQL Database Backup
|
|
# For Ubuntu / Debian / Raspian
|
|
# David Harrop
|
|
# April 2023
|
|
#######################################################################################################################
|
|
|
|
# Prepare text output colours
|
|
GREY='\033[0;37m'
|
|
DGREY='\033[0;90m'
|
|
GREYB='\033[1;37m'
|
|
LRED='\033[0;91m'
|
|
LGREEN='\033[0;92m'
|
|
LYELLOW='\033[0;93m'
|
|
NC='\033[0m' #No Colour
|
|
|
|
clear
|
|
|
|
export PATH=/bin:/usr/bin:/usr/local/bin
|
|
TODAY=`date +%Y-%m-%d`
|
|
MYSQL_HOST=
|
|
MYSQL_PORT=
|
|
GUAC_USER=
|
|
GUAC_PWD=
|
|
GUAC_DB=
|
|
DB_BACKUP_DIR=
|
|
BACKUP_EMAIL=
|
|
BACKUP_RETENTION=
|
|
|
|
# Protect disk space and remove backups older than {BACKUP_RETENTION} days
|
|
find ${DB_BACKUP_DIR} -mtime +${BACKUP_RETENTION} -delete
|
|
|
|
# Backup code
|
|
mkdir -p ${DB_BACKUP_DIR}
|
|
echo
|
|
echo -e "${LGREEN}Backup started for database - ${GUAC_DB}"
|
|
echo
|
|
|
|
mysqldump -h ${MYSQL_HOST} \
|
|
-P ${MYSQL_PORT} \
|
|
-u ${GUAC_USER} \
|
|
-p"${GUAC_PWD}" \
|
|
${GUAC_DB} \
|
|
--single-transaction --quick --lock-tables=false > \
|
|
${DB_BACKUP_DIR}${GUAC_DB}-${TODAY}.sql
|
|
SQLFILE=${DB_BACKUP_DIR}${GUAC_DB}-${TODAY}.sql
|
|
if [ $? -ne 0 ]; then
|
|
echo -e "${LRED}Backup failed.${GREY}" 1>&2
|
|
exit 1
|
|
else
|
|
echo -e "${LGREEN}Backup completed ok.${GREY}"
|
|
echo
|
|
fi
|
|
gzip -f ${SQLFILE}
|
|
# Error check and email alerts
|
|
if [ $? -ne 0 ]; then
|
|
echo -e "${LRED}Backup failed.${GREY}" 1>&2
|
|
exit 1
|
|
else
|
|
echo -e "${LGREEN}${GUAC_DB} backup was successfully copied to ${DB_BACKUP_DIR}"
|
|
#mailx -s "Guacamomle Database Backup Success" ${BACKUP_EMAIL}
|
|
echo "${GUAC_DB} backup was successfully copied to $DB_BACKUP_DIR" | mailx -s "Guacamole backup " ${BACKUP_EMAIL}
|
|
fi
|
|
|
|
echo -e ${NC}
|