Add support of performance settings like 'SET GLOBAL max_allowed_packet=1073741824'.

This commit is contained in:
Christoph 2025-01-17 21:16:53 +01:00
parent b2d543a290
commit abb4f675e0
5 changed files with 679 additions and 33 deletions

View File

@ -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.."

View File

@ -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

View File

@ -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
# --- # ---

View 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"

View File

@ -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