Add support of performance settings like 'SET GLOBAL max_allowed_packet=1073741824'.
This commit is contained in:
parent
b2d543a290
commit
abb4f675e0
@ -210,6 +210,9 @@ DEFAULT_BORG_RSH='ssh -i /root/.ssh/id_ed25519-borg-backup'
|
|||||||
|
|
||||||
DEFAULT_NC_DB_BACKUP_DIR="/data/backup/sql"
|
DEFAULT_NC_DB_BACKUP_DIR="/data/backup/sql"
|
||||||
|
|
||||||
|
DEFAULT_MYSQL_CREDENTIALS="-u root -S /run/mysqld/mysqld.sock"
|
||||||
|
DEFAULT_MYSQL_PERFORMANCE_SETTINGS=false
|
||||||
|
|
||||||
DEFAULT_BACKUP_OTHER_DIRECTORIES="/etc /home /root /var/spool/cron"
|
DEFAULT_BACKUP_OTHER_DIRECTORIES="/etc /home /root /var/spool/cron"
|
||||||
|
|
||||||
DEFAULT_KEEP_DAILY=10
|
DEFAULT_KEEP_DAILY=10
|
||||||
@ -233,15 +236,17 @@ else
|
|||||||
fatal "No configuration file '$conf_file' present!"
|
fatal "No configuration file '$conf_file' present!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
[[ -z "${ADMIN_EMAIL}" ]] && ADMIN_EMAIL="${DEFAULT_ADMIN_EMAIL}"
|
||||||
|
[[ -z "${COMPANY}" ]] && COMPANY="${DEFAULT_COMPANY}"
|
||||||
|
[[ -z "${FROM_ADDRESS}" ]] && FROM_ADDRESS="${DEFAULT_FROM_ADDRESS}"
|
||||||
|
|
||||||
|
[[ -z "${MYSQL_CREDENTIALS}" ]] && MYSQL_CREDENTIALS="${DEFAULT_MYSQL_CREDENTIALS}"
|
||||||
|
[[ -z "${MYSQL_PERFORMANCE_SETTINGS}" ]] && MYSQL_PERFORMANCE_SETTINGS=${DEFAULT_MYSQL_PERFORMANCE_SETTINGS}
|
||||||
|
|
||||||
# -------------
|
# -------------
|
||||||
# - Job is already running?
|
# - Job is already running?
|
||||||
# -------------
|
# -------------
|
||||||
|
|
||||||
[[ -z "${ADMIN_EMAIL}" ]] && ADMIN_EMAIL="${DEFAULT_ADMIN_EMAIL}"
|
|
||||||
[[ -z "${COMPANY}" ]] && COMPANY="${DEFAULT_COMPANY}"
|
|
||||||
[[ -z "${FROM_ADDRESS}" ]] && FROM_ADDRESS="${DEFAULT_FROM_ADDRESS}"
|
|
||||||
|
|
||||||
# - If job already runs, stop execution..
|
# - If job already runs, stop execution..
|
||||||
# -
|
# -
|
||||||
if mkdir "$LOCK_DIR" 2> /dev/null ; then
|
if mkdir "$LOCK_DIR" 2> /dev/null ; then
|
||||||
@ -541,49 +546,143 @@ fi
|
|||||||
blank_line
|
blank_line
|
||||||
|
|
||||||
|
|
||||||
|
if ${MYSQL_PERFORMANCE_SETTINGS}; then
|
||||||
|
|
||||||
|
# - GET current (global) Autocommit value
|
||||||
|
# -
|
||||||
|
echononl "GET current (global) value \033[1mautocommit\033[m"
|
||||||
|
CUR_AUTOCOMMIT="$(mysql ${MYSQL_CREDENTIALS} -N -s -e "SHOW GLOBAL VARIABLES LIKE 'autocommit'" \
|
||||||
|
| awk '{print$2}')" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# - GET current (global) value for 'foreign_key_checks'
|
||||||
|
# -
|
||||||
|
echononl "GET current (global) value \033[1mforeign_key_checks\033[m"
|
||||||
|
CUR_FOREIGN_KEY_CHECKS="$(mysql ${MYSQL_CREDENTIALS} -N -s -e "SHOW GLOBAL VARIABLES LIKE 'foreign_key_checks'" \
|
||||||
|
| awk '{print$2}')" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# - GET current (global) value for 'unique_checks'
|
||||||
|
# -
|
||||||
|
echononl "GET current (global) value \033[1munique_checks\033[m"
|
||||||
|
CUR_UNIQUE_CHECKS="$(mysql ${MYSQL_CREDENTIALS} -N -s -e "SHOW GLOBAL VARIABLES LIKE 'unique_checks'" \
|
||||||
|
| awk '{print$2}')" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# - GET current (global) value for 'innodb_flush_log_at_trx_commit'
|
||||||
|
# -
|
||||||
|
echononl "GET current (global) value \033[1minnodb_flush_log_at_trx_commit\033[m"
|
||||||
|
CUR_INNODB_FLUSH_LOG_AT_TRX_COMMIT="$(mysql ${MYSQL_CREDENTIALS} -N -s -e "SHOW GLOBAL VARIABLES LIKE 'innodb_flush_log_at_trx_commit'" \
|
||||||
|
| awk '{print$2}')" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# - GET current (global) value for 'max_allowed_packet'
|
||||||
|
# -
|
||||||
|
echononl "GET current (global) value \033[1mmax_allowed_packet\033[m"
|
||||||
|
CUR_MAX_ALLOWED_PACKET="$(mysql ${MYSQL_CREDENTIALS} -N -s -e "SHOW GLOBAL VARIABLES LIKE 'max_allowed_packet'" \
|
||||||
|
| awk '{print$2}')" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
blank_line
|
||||||
|
|
||||||
|
echononl "Set Autocommit to OFF"
|
||||||
|
mysql ${MYSQL_CREDENTIALS} -N -s -e "SET GLOBAL autocommit='OFF'" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echononl "Set foreign_key_checks to OFF"
|
||||||
|
mysql ${MYSQL_CREDENTIALS} -N -s -e "SET GLOBAL foreign_key_checks='OFF'" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echononl "Set unique_checks to OFF"
|
||||||
|
mysql ${MYSQL_CREDENTIALS} -N -s -e "SET GLOBAL unique_checks='OFF'" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echononl "Set innodb_flush_log_at_trx_commit to 2"
|
||||||
|
mysql ${MYSQL_CREDENTIALS} -N -s -e "SET GLOBAL innodb_flush_log_at_trx_commit=2" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echononl "Set max_allowed_packet to 1G"
|
||||||
|
mysql ${MYSQL_CREDENTIALS} -N -s -e "SET GLOBAL max_allowed_packet=1073741824" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
blank_line
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Create database backup
|
# Create database backup
|
||||||
#
|
#
|
||||||
echononl "Create database backup .."
|
echononl "Create database backup .."
|
||||||
|
|
||||||
mysql_max_allowed_packet="512M"
|
mysql_max_allowed_packet="512M"
|
||||||
cat << EOF >> ${BORG_LOG_FILE}
|
cat << EOF >> ${BORG_LOG_FILE}
|
||||||
mysqldump \\
|
mysqldump ${MYSQL_CREDENTIALS} \\
|
||||||
--protocol=SOCKET \\
|
--single-transaction \\
|
||||||
--max-allowed-packet=${mysql_max_allowed_packet} \\
|
--max-allowed-packet=${mysql_max_allowed_packet} \\
|
||||||
--skip-opt \\
|
|
||||||
--add-drop-table \\
|
|
||||||
--add-locks \\
|
|
||||||
--create-options \\
|
|
||||||
--quick \\
|
|
||||||
--compress \\
|
|
||||||
--set-charset \\
|
|
||||||
--disable-keys \\
|
|
||||||
--lock-tables \\
|
|
||||||
--routines \\
|
--routines \\
|
||||||
-h localhost \\
|
-h localhost \\
|
||||||
-u${NC_DB_USER} \\
|
|
||||||
-p${NC_DB_PASS} \\
|
|
||||||
-e ${NC_DB} > ${NC_DB_BACKUP_DIR}/${NC_DB}-${backup_date}.sql
|
-e ${NC_DB} > ${NC_DB_BACKUP_DIR}/${NC_DB}-${backup_date}.sql
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
mysqldump \
|
mysqldump ${MYSQL_CREDENTIALS} \
|
||||||
--protocol=SOCKET \
|
--single-transaction \
|
||||||
--max-allowed-packet=${mysql_max_allowed_packet} \
|
--max-allowed-packet=${mysql_max_allowed_packet} \
|
||||||
--skip-opt \
|
|
||||||
--add-drop-table \
|
|
||||||
--add-locks \
|
|
||||||
--create-options \
|
|
||||||
--quick \
|
|
||||||
--compress \
|
|
||||||
--set-charset \
|
|
||||||
--disable-keys \
|
|
||||||
--lock-tables \
|
|
||||||
--routines \
|
--routines \
|
||||||
-h localhost \
|
-h localhost \
|
||||||
-u${NC_DB_USER} \
|
|
||||||
-p${NC_DB_PASS} \
|
|
||||||
-e ${NC_DB} > ${NC_DB_BACKUP_DIR}/${NC_DB}-${backup_date}.sql 2> ${log_file}
|
-e ${NC_DB} > ${NC_DB_BACKUP_DIR}/${NC_DB}-${backup_date}.sql 2> ${log_file}
|
||||||
|
|
||||||
|
|
||||||
if [[ $? -gt 0 ]] ; then
|
if [[ $? -gt 0 ]] ; then
|
||||||
echo_failed
|
echo_failed
|
||||||
error "$(cat "${log_file}")"
|
error "$(cat "${log_file}")"
|
||||||
@ -591,6 +690,65 @@ else
|
|||||||
echo_ok
|
echo_ok
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
blank_line
|
||||||
|
|
||||||
|
|
||||||
|
if ${MYSQL_PERFORMANCE_SETTINGS}; then
|
||||||
|
|
||||||
|
echononl "Set Autocommit to $CUR_AUTOCOMMIT"
|
||||||
|
mysql ${MYSQL_CREDENTIALS} -N -s -e "SET GLOBAL autocommit='$CUR_AUTOCOMMIT'" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
CUR_AUTOCOMMIT=""
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echononl "Set foreign_key_checks to $CUR_FOREIGN_KEY_CHECKS"
|
||||||
|
mysql ${MYSQL_CREDENTIALS} -N -s -e "SET GLOBAL foreign_key_checks='$CUR_FOREIGN_KEY_CHECKS'" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
CUR_FOREIGN_KEY_CHECKS=""
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echononl "Set unique_checks to $CUR_UNIQUE_CHECKS"
|
||||||
|
mysql ${MYSQL_CREDENTIALS} -N -s -e "SET GLOBAL unique_checks='$CUR_UNIQUE_CHECKS'" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
CUR_UNIQUE_CHECKS=""
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echononl "Set innodb_flush_log_at_trx_commit to $CUR_INNODB_FLUSH_LOG_AT_TRX_COMMIT"
|
||||||
|
mysql ${MYSQL_CREDENTIALS} -N -s -e "SET GLOBAL innodb_flush_log_at_trx_commit=$CUR_INNODB_FLUSH_LOG_AT_TRX_COMMIT" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
CUR_INNODB_FLUSH_LOG_AT_TRX_COMMIT=""
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echononl "Set max_allowed_packet to $CUR_MAX_ALLOWED_PACKET"
|
||||||
|
mysql ${MYSQL_CREDENTIALS} -N -s -e "SET GLOBAL max_allowed_packet=$CUR_MAX_ALLOWED_PACKET" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
CUR_MAX_ALLOWED_PACKET=""
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
blank_line
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
echononl "Create borg backup.."
|
echononl "Create borg backup.."
|
||||||
|
|
||||||
|
181
borg2-backup.sh
181
borg2-backup.sh
@ -210,7 +210,9 @@ DEFAULT_KEEP_MONTHLY=6
|
|||||||
DEFAULT_KEEP_YEARLY=1
|
DEFAULT_KEEP_YEARLY=1
|
||||||
|
|
||||||
DEFAULT_DB_TYPE="None"
|
DEFAULT_DB_TYPE="None"
|
||||||
|
|
||||||
DEFAULT_MYSQL_CREDENTIALS="-u root -S /run/mysqld/mysqld.sock"
|
DEFAULT_MYSQL_CREDENTIALS="-u root -S /run/mysqld/mysqld.sock"
|
||||||
|
DEFAULT_MYSQL_PERFORMANCE_SETTINGS=false
|
||||||
|
|
||||||
DEFAULT_PSQL_SYSTEM_USER="postgres"
|
DEFAULT_PSQL_SYSTEM_USER="postgres"
|
||||||
|
|
||||||
@ -314,7 +316,7 @@ fi
|
|||||||
|
|
||||||
declare -a db_type_arr=()
|
declare -a db_type_arr=()
|
||||||
|
|
||||||
for _db_type in ${DB_TYPE}; do
|
for _db_type in ${DB_TYPE}; do
|
||||||
if [[ "${DB_TYPE,,}" = "psql" ]] || [[ "${DB_TYPE,,}" = "postgresql" ]] || [[ "${DB_TYPE,,}" = "postgres" ]] ; then
|
if [[ "${DB_TYPE,,}" = "psql" ]] || [[ "${DB_TYPE,,}" = "postgresql" ]] || [[ "${DB_TYPE,,}" = "postgres" ]] ; then
|
||||||
db_type_arr+=("postgresql")
|
db_type_arr+=("postgresql")
|
||||||
else
|
else
|
||||||
@ -324,6 +326,7 @@ done
|
|||||||
|
|
||||||
if containsElement "mysql" "${db_type_arr[@]}" ; then
|
if containsElement "mysql" "${db_type_arr[@]}" ; then
|
||||||
[[ -z "${MYSQL_CREDENTIALS}" ]] && MYSQL_CREDENTIALS="${DEFAULT_MYSQL_CREDENTIALS}"
|
[[ -z "${MYSQL_CREDENTIALS}" ]] && MYSQL_CREDENTIALS="${DEFAULT_MYSQL_CREDENTIALS}"
|
||||||
|
[[ -z "${MYSQL_PERFORMANCE_SETTINGS}" ]] && MYSQL_PERFORMANCE_SETTINGS=${DEFAULT_MYSQL_PERFORMANCE_SETTINGS}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if containsElement "postgresql" "${db_type_arr[@]}" ; then
|
if containsElement "postgresql" "${db_type_arr[@]}" ; then
|
||||||
@ -389,7 +392,7 @@ if $terminal ; then
|
|||||||
echo -e " DB_TYPE(s)...............: \033[33m${DB_TYPE}\033[m"
|
echo -e " DB_TYPE(s)...............: \033[33m${DB_TYPE}\033[m"
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
declare -i index=0
|
declare -i index=0
|
||||||
for _dir in ${BACKUP_DIRECTORIES} ; do
|
for _dir in ${BACKUP_DIRECTORIES} ; do
|
||||||
if [[ $index -lt 1 ]] ; then
|
if [[ $index -lt 1 ]] ; then
|
||||||
@ -439,7 +442,7 @@ fi
|
|||||||
echo "# ----------" >> ${BORG_LOG_FILE}
|
echo "# ----------" >> ${BORG_LOG_FILE}
|
||||||
echo -e "# Running script '${script_name}' on $(date +%Y.%m.%d) at $(date +%H:%M) h .." >> ${BORG_LOG_FILE}
|
echo -e "# Running script '${script_name}' on $(date +%Y.%m.%d) at $(date +%H:%M) h .." >> ${BORG_LOG_FILE}
|
||||||
echo "# ----------" >> ${BORG_LOG_FILE}
|
echo "# ----------" >> ${BORG_LOG_FILE}
|
||||||
|
|
||||||
|
|
||||||
echo "" >> ${BORG_LOG_FILE}
|
echo "" >> ${BORG_LOG_FILE}
|
||||||
echo "# Script parameter settings:" >> ${BORG_LOG_FILE}
|
echo "# Script parameter settings:" >> ${BORG_LOG_FILE}
|
||||||
@ -518,6 +521,122 @@ EOF
|
|||||||
echo_ok
|
echo_ok
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
blank_line
|
||||||
|
|
||||||
|
if ${MYSQL_PERFORMANCE_SETTINGS} ; then
|
||||||
|
|
||||||
|
# - GET current (global) Autocommit value
|
||||||
|
# -
|
||||||
|
echononl "GET current (global) value \033[1mautocommit\033[m"
|
||||||
|
CUR_AUTOCOMMIT="$(mysql ${MYSQL_CREDENTIALS} -N -s -e "SHOW GLOBAL VARIABLES LIKE 'autocommit'" \
|
||||||
|
| awk '{print$2}')" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# - GET current (global) value for 'foreign_key_checks'
|
||||||
|
# -
|
||||||
|
echononl "GET current (global) value \033[1mforeign_key_checks\033[m"
|
||||||
|
CUR_FOREIGN_KEY_CHECKS="$(mysql ${MYSQL_CREDENTIALS} -N -s -e "SHOW GLOBAL VARIABLES LIKE 'foreign_key_checks'" \
|
||||||
|
| awk '{print$2}')" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# - GET current (global) value for 'unique_checks'
|
||||||
|
# -
|
||||||
|
echononl "GET current (global) value \033[1munique_checks\033[m"
|
||||||
|
CUR_UNIQUE_CHECKS="$(mysql ${MYSQL_CREDENTIALS} -N -s -e "SHOW GLOBAL VARIABLES LIKE 'unique_checks'" \
|
||||||
|
| awk '{print$2}')" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# - GET current (global) value for 'innodb_flush_log_at_trx_commit'
|
||||||
|
# -
|
||||||
|
echononl "GET current (global) value \033[1minnodb_flush_log_at_trx_commit\033[m"
|
||||||
|
CUR_INNODB_FLUSH_LOG_AT_TRX_COMMIT="$(mysql ${MYSQL_CREDENTIALS} -N -s -e "SHOW GLOBAL VARIABLES LIKE 'innodb_flush_log_at_trx_commit'" \
|
||||||
|
| awk '{print$2}')" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# - GET current (global) value for 'max_allowed_packet'
|
||||||
|
# -
|
||||||
|
echononl "GET current (global) value \033[1mmax_allowed_packet\033[m"
|
||||||
|
CUR_MAX_ALLOWED_PACKET="$(mysql ${MYSQL_CREDENTIALS} -N -s -e "SHOW GLOBAL VARIABLES LIKE 'max_allowed_packet'" \
|
||||||
|
| awk '{print$2}')" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
blank_line
|
||||||
|
|
||||||
|
echononl "Set Autocommit to OFF"
|
||||||
|
mysql ${MYSQL_CREDENTIALS} -N -s -e "SET GLOBAL autocommit='OFF'" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echononl "Set foreign_key_checks to OFF"
|
||||||
|
mysql ${MYSQL_CREDENTIALS} -N -s -e "SET GLOBAL foreign_key_checks='OFF'" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echononl "Set unique_checks to OFF"
|
||||||
|
mysql ${MYSQL_CREDENTIALS} -N -s -e "SET GLOBAL unique_checks='OFF'" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echononl "Set innodb_flush_log_at_trx_commit to 2"
|
||||||
|
mysql ${MYSQL_CREDENTIALS} -N -s -e "SET GLOBAL innodb_flush_log_at_trx_commit=2" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echononl "Set max_allowed_packet to 1G"
|
||||||
|
mysql ${MYSQL_CREDENTIALS} -N -s -e "SET GLOBAL max_allowed_packet=1073741824" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
blank_line
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
for _db in ${mysql_database_arr[@]} ; do
|
for _db in ${mysql_database_arr[@]} ; do
|
||||||
|
|
||||||
echononl " Dump MySQL Database '${_db}'.."
|
echononl " Dump MySQL Database '${_db}'.."
|
||||||
@ -543,6 +662,62 @@ EOF
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
||||||
|
blank_line
|
||||||
|
|
||||||
|
if ${MYSQL_PERFORMANCE_SETTINGS} ; then
|
||||||
|
echononl "Set Autocommit to $CUR_AUTOCOMMIT"
|
||||||
|
${mysql_command} $DATABASE_CREDENTIALS_ARGS -N -s -e "SET GLOBAL autocommit='$CUR_AUTOCOMMIT'" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
CUR_AUTOCOMMIT=""
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echononl "Set foreign_key_checks to $CUR_FOREIGN_KEY_CHECKS"
|
||||||
|
${mysql_command} $DATABASE_CREDENTIALS_ARGS -N -s -e "SET GLOBAL foreign_key_checks='$CUR_FOREIGN_KEY_CHECKS'" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
CUR_FOREIGN_KEY_CHECKS=""
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echononl "Set unique_checks to $CUR_UNIQUE_CHECKS"
|
||||||
|
${mysql_command} $DATABASE_CREDENTIALS_ARGS -N -s -e "SET GLOBAL unique_checks='$CUR_UNIQUE_CHECKS'" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
CUR_UNIQUE_CHECKS=""
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echononl "Set innodb_flush_log_at_trx_commit to $CUR_INNODB_FLUSH_LOG_AT_TRX_COMMIT"
|
||||||
|
${mysql_command} $DATABASE_CREDENTIALS_ARGS -N -s -e "SET GLOBAL innodb_flush_log_at_trx_commit=$CUR_INNODB_FLUSH_LOG_AT_TRX_COMMIT" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
CUR_INNODB_FLUSH_LOG_AT_TRX_COMMIT=""
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echononl "Set max_allowed_packet to $CUR_MAX_ALLOWED_PACKET"
|
||||||
|
${mysql_command} $DATABASE_CREDENTIALS_ARGS -N -s -e "SET GLOBAL max_allowed_packet=$CUR_MAX_ALLOWED_PACKET" >> ${log_file} 2>&1
|
||||||
|
if [[ $? -eq 0 ]];then
|
||||||
|
echo_ok
|
||||||
|
CUR_MAX_ALLOWED_PACKET=""
|
||||||
|
else
|
||||||
|
echo_failed
|
||||||
|
error "$(cat ${log_file})"
|
||||||
|
fi
|
||||||
|
|
||||||
|
blank_line
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if containsElement "postgresql" "${db_type_arr[@]}" ; then
|
if containsElement "postgresql" "${db_type_arr[@]}" ; then
|
||||||
|
@ -114,6 +114,31 @@
|
|||||||
#NC_DB_BACKUP_DIR="/data/backup/sql"
|
#NC_DB_BACKUP_DIR="/data/backup/sql"
|
||||||
|
|
||||||
|
|
||||||
|
# ---
|
||||||
|
# DB related parameters
|
||||||
|
# ---
|
||||||
|
|
||||||
|
|
||||||
|
# MYSQL_PERFORMANCE_SETTINGS
|
||||||
|
#
|
||||||
|
# To increase performance, some global variables are changed before writing the database dump.
|
||||||
|
#
|
||||||
|
# Settings are:
|
||||||
|
# - SET GLOBAL autocommit='OFF'
|
||||||
|
# - SET GLOBAL foreign_key_checks='OFF'
|
||||||
|
# - SET GLOBAL unique_checks='OFF'
|
||||||
|
# - SET GLOBAL innodb_flush_log_at_trx_commit=2
|
||||||
|
# SET GLOBAL max_allowed_packet=1073741824
|
||||||
|
#
|
||||||
|
# After the databases have been backed up, the values are reset.
|
||||||
|
#
|
||||||
|
# Defaults to:
|
||||||
|
#
|
||||||
|
# MYSQL_PERFORMANCE_SETTINGS=false
|
||||||
|
#
|
||||||
|
#MYSQL_PERFORMANCE_SETTINGS=false
|
||||||
|
|
||||||
|
|
||||||
# ---
|
# ---
|
||||||
# Other Backups
|
# Other Backups
|
||||||
# ---
|
# ---
|
||||||
|
268
conf/borg2-backup.conf.BAK.backup.oopen.de
Normal file
268
conf/borg2-backup.conf.BAK.backup.oopen.de
Normal file
@ -0,0 +1,268 @@
|
|||||||
|
#-----------------------------
|
||||||
|
# Settings for script borg2-backup-nc.sh
|
||||||
|
#-----------------------------
|
||||||
|
|
||||||
|
# SSH_USER
|
||||||
|
#
|
||||||
|
# The (remote) user under which the SSH session for the
|
||||||
|
# data transfer is running.
|
||||||
|
#
|
||||||
|
# Defaults to:
|
||||||
|
#
|
||||||
|
# SSH_USER="borg"
|
||||||
|
#
|
||||||
|
#BACKUP_USER="borg"
|
||||||
|
|
||||||
|
|
||||||
|
# SSH_PORT
|
||||||
|
#
|
||||||
|
# The port under which the SSH service is accessible
|
||||||
|
#
|
||||||
|
# Defaults to:
|
||||||
|
#
|
||||||
|
# SSH_PORT=22
|
||||||
|
#
|
||||||
|
#SSH_PORT=22
|
||||||
|
|
||||||
|
|
||||||
|
# BORG_HOST
|
||||||
|
#
|
||||||
|
# The (remote) host on which the backups are saved.
|
||||||
|
#
|
||||||
|
# !! No Defaults - this parameter is mandatory
|
||||||
|
#
|
||||||
|
#BORG_HOST="<Fully-Qualified Host Name>"
|
||||||
|
BORG_HOST="backup.warenform.de"
|
||||||
|
|
||||||
|
|
||||||
|
# BORG_RSH
|
||||||
|
#
|
||||||
|
# The command, which is used instead of ssh.
|
||||||
|
#
|
||||||
|
# This can be used to specify ssh options, such as a custom identity file
|
||||||
|
# ssh -i /path/to/private/key. See man ssh for other options.
|
||||||
|
#
|
||||||
|
# Using the --rsh CMD commandline option overrides the environment variable.
|
||||||
|
#
|
||||||
|
# Defaults to:
|
||||||
|
# BORG_RSH='ssh -i /root/.ssh/id_ed25519-borg-backup'
|
||||||
|
#
|
||||||
|
#BORG_RSH='ssh -i /root/.ssh/id_ed25519-borg-backup'
|
||||||
|
|
||||||
|
|
||||||
|
# BORG_PASSPHRASE
|
||||||
|
#
|
||||||
|
# Password of the Borg Repository (which was used while initializing)
|
||||||
|
#
|
||||||
|
# !! No Defaults - this parameter is mandatory
|
||||||
|
#
|
||||||
|
#BORG_PASSPHRASE='borg-password'
|
||||||
|
BORG_PASSPHRASE='aeHj7z5s/.j-_+gbSG/Zfz%4'
|
||||||
|
|
||||||
|
|
||||||
|
# BORG_REPO
|
||||||
|
#
|
||||||
|
# The repository location on the (remote) backup host.
|
||||||
|
#
|
||||||
|
# !! No Defaults - this parameter is mandatory
|
||||||
|
#
|
||||||
|
#BORG_REPO=<path-to-the-borg-repository>
|
||||||
|
BORG_REPO="/backup/BORG-2/backup.oopen.de"
|
||||||
|
|
||||||
|
|
||||||
|
# BORG_LOG_DIR
|
||||||
|
#
|
||||||
|
# Log to this directory
|
||||||
|
#
|
||||||
|
# Defaults to:
|
||||||
|
#
|
||||||
|
# BORG_LOG_DIR="/var/log/borg"
|
||||||
|
#
|
||||||
|
#BORG_LOG_DIR="/var/log/borg"
|
||||||
|
|
||||||
|
|
||||||
|
# ---
|
||||||
|
# DB related parameters
|
||||||
|
# ---
|
||||||
|
|
||||||
|
# DB_TYPE
|
||||||
|
#
|
||||||
|
# Which database ist installed?
|
||||||
|
#
|
||||||
|
# possible values:
|
||||||
|
# - MySQL
|
||||||
|
# - PostgreSQL or postgres or psql
|
||||||
|
# - None
|
||||||
|
#
|
||||||
|
# Defaults to:
|
||||||
|
#
|
||||||
|
# DB_TYPE="None"
|
||||||
|
#
|
||||||
|
# DB_TYPE="None"
|
||||||
|
DB_TYPE="MySQL"
|
||||||
|
|
||||||
|
|
||||||
|
# MYSQL_CREDENTIALS
|
||||||
|
#
|
||||||
|
# Giving password on command line is insecure an sind mysql 5.5
|
||||||
|
# you will get a warning doing so.
|
||||||
|
#
|
||||||
|
# Reading username/password fro file ist also possible, using MySQL/MariaDB
|
||||||
|
# commandline parameter '--defaults-file'.
|
||||||
|
#
|
||||||
|
# Since Version 5.6, that method is considered as insecure.
|
||||||
|
# To avoid giving the password on command line, we use an
|
||||||
|
# encrypted option file
|
||||||
|
#
|
||||||
|
# Create (encrypted) option file:
|
||||||
|
# $ mysql_config_editor set --login-path=local --socket=/var/run/mysqld/mysqld.sock --user=backup --password
|
||||||
|
# $ Password:
|
||||||
|
#
|
||||||
|
# Use of option file:
|
||||||
|
# $ mysql --login-path=local ...
|
||||||
|
#
|
||||||
|
# Example
|
||||||
|
# MYSQL_CREDENTIALS="--login-path=local"
|
||||||
|
# MYSQL_CREDENTIALS="--defaults-file=/etc/mysql/debian.cnf" (Debian default)
|
||||||
|
# MYSQL_CREDENTIALS="--defaults-file=/usr/local/mysql/sys-maint.cnf"
|
||||||
|
#
|
||||||
|
# Defaults to:
|
||||||
|
#
|
||||||
|
# MYSQL_CREDENTIALS="-u root -S /run/mysqld/mysqld.sock"
|
||||||
|
#
|
||||||
|
#MYSQL_CREDENTIALS="-u root -S /run/mysqld/mysqld.sock"
|
||||||
|
|
||||||
|
|
||||||
|
# PSQL_SYSTEM_USER
|
||||||
|
#
|
||||||
|
# User who owns PostgreSQL services
|
||||||
|
#
|
||||||
|
# Defaults to:
|
||||||
|
#
|
||||||
|
# PSQL_SYSTEM_USER="postgres"
|
||||||
|
#
|
||||||
|
#PSQL_SYSTEM_USER="postgres"
|
||||||
|
|
||||||
|
|
||||||
|
# DB_BACKUP_DIR
|
||||||
|
#
|
||||||
|
# Directory in which current database dumps are stored (and transferred to the repository)
|
||||||
|
#
|
||||||
|
# Defaults to:
|
||||||
|
#
|
||||||
|
# DB_BACKUP_DIR="/data/backup/sql"
|
||||||
|
#
|
||||||
|
#DB_BACKUP_DIR="/data/backup/sql"
|
||||||
|
|
||||||
|
|
||||||
|
# ---
|
||||||
|
# Backups directories
|
||||||
|
# ---
|
||||||
|
|
||||||
|
# BACKUP_DIRECTORIES
|
||||||
|
#
|
||||||
|
# Directories (or files) that should be backed up
|
||||||
|
#
|
||||||
|
# Defaults to:
|
||||||
|
#
|
||||||
|
# BACKUP_DIRECTORIES="/etc /home /root /var/spool/cron"
|
||||||
|
#
|
||||||
|
# - Blank separated list of directories -
|
||||||
|
#
|
||||||
|
#BACKUP_DIRECTORIES="/etc /home /root /var/spool/cron"
|
||||||
|
BACKUP_DIRECTORIES="/etc /home /root /var/spool/cron"
|
||||||
|
|
||||||
|
|
||||||
|
# KEEP_DAILY
|
||||||
|
#
|
||||||
|
# Number of daily archives to keep
|
||||||
|
#
|
||||||
|
# Defaults to:
|
||||||
|
#
|
||||||
|
# KEEP_DAILY=10
|
||||||
|
#
|
||||||
|
#KEEP_DAILY=10
|
||||||
|
|
||||||
|
|
||||||
|
# KEEP_WEEKLY
|
||||||
|
#
|
||||||
|
# Number of weekly archives to keep
|
||||||
|
#
|
||||||
|
# Defaults to:
|
||||||
|
#
|
||||||
|
# KEEP_WEEKLY=5
|
||||||
|
#
|
||||||
|
#KEEP_WEEKLY=5
|
||||||
|
|
||||||
|
|
||||||
|
# KEEP_MONTHLY
|
||||||
|
#
|
||||||
|
# Number of monthly archives to keep
|
||||||
|
#
|
||||||
|
# Defaults to:
|
||||||
|
#
|
||||||
|
# KEEP_MONTHLY=6
|
||||||
|
#
|
||||||
|
#KEEP_MONTHLY=6
|
||||||
|
|
||||||
|
|
||||||
|
# KEEP_YEARLY
|
||||||
|
#
|
||||||
|
# Number of yearly archives to keep
|
||||||
|
#
|
||||||
|
# Defaults to:
|
||||||
|
#
|
||||||
|
# KEEP_YEARLY=1
|
||||||
|
#
|
||||||
|
#KEEP_YEARLY=1
|
||||||
|
|
||||||
|
|
||||||
|
# ---
|
||||||
|
# Restore Parameters
|
||||||
|
# ---
|
||||||
|
|
||||||
|
# BORG_FUSE_MOUNT_DIR
|
||||||
|
#
|
||||||
|
# Mountpoint where to mount an borg backup archiv as a FUSE filesystem.
|
||||||
|
#
|
||||||
|
# Defaults to:
|
||||||
|
#
|
||||||
|
# BORG_MOUNT_FUSE_DIR="/mnt/borg-fuse-mount"
|
||||||
|
#
|
||||||
|
#BORG_MOUNT_FUSE_DIR="/mnt/borg-fuse-mount"
|
||||||
|
|
||||||
|
|
||||||
|
# ---
|
||||||
|
# Alert Parameters
|
||||||
|
# ---
|
||||||
|
|
||||||
|
# ADMIN_EMAIL
|
||||||
|
#
|
||||||
|
# Send Informations about the backup prozess to this e-mail address
|
||||||
|
#
|
||||||
|
# Defaults to:
|
||||||
|
#
|
||||||
|
# ADMIN_EMAIL="root"
|
||||||
|
#
|
||||||
|
#ADMIN_EMAIL="root"
|
||||||
|
|
||||||
|
|
||||||
|
# FROM_ADDRESS
|
||||||
|
#
|
||||||
|
# Defaults to:
|
||||||
|
#
|
||||||
|
# "borg-backup@$(hostname -f)"
|
||||||
|
#
|
||||||
|
#FROM_ADDRESS=""
|
||||||
|
|
||||||
|
|
||||||
|
# COMPANY
|
||||||
|
#
|
||||||
|
# DEFAULTS to
|
||||||
|
# Defaults to:
|
||||||
|
#
|
||||||
|
# COMPANY="O.OPEN"
|
||||||
|
#
|
||||||
|
#COMPANY="O.OPEN"
|
||||||
|
COMPANY="O.OPEN"
|
||||||
|
|
@ -130,6 +130,26 @@
|
|||||||
#MYSQL_CREDENTIALS="-u root -S /run/mysqld/mysqld.sock"
|
#MYSQL_CREDENTIALS="-u root -S /run/mysqld/mysqld.sock"
|
||||||
|
|
||||||
|
|
||||||
|
# MYSQL_PERFORMANCE_SETTINGS
|
||||||
|
#
|
||||||
|
# To increase performance, some global variables are changed before writing the database dump.
|
||||||
|
#
|
||||||
|
# Settings are:
|
||||||
|
# - SET GLOBAL autocommit='OFF'
|
||||||
|
# - SET GLOBAL foreign_key_checks='OFF'
|
||||||
|
# - SET GLOBAL unique_checks='OFF'
|
||||||
|
# - SET GLOBAL innodb_flush_log_at_trx_commit=2
|
||||||
|
# SET GLOBAL max_allowed_packet=1073741824
|
||||||
|
#
|
||||||
|
# After the databases have been backed up, the values are reset.
|
||||||
|
#
|
||||||
|
# Defaults to:
|
||||||
|
#
|
||||||
|
# MYSQL_PERFORMANCE_SETTINGS=false
|
||||||
|
#
|
||||||
|
#MYSQL_PERFORMANCE_SETTINGS=false
|
||||||
|
|
||||||
|
|
||||||
# PSQL_SYSTEM_USER
|
# PSQL_SYSTEM_USER
|
||||||
#
|
#
|
||||||
# User who owns PostgreSQL services
|
# User who owns PostgreSQL services
|
||||||
|
Loading…
Reference in New Issue
Block a user