Compare commits

..

23 Commits

Author SHA1 Message Date
c1e4fbc75c Delete unused old configuration files. 2025-05-24 23:52:04 +02:00
9a548cdedc Some changes to file ',gitignore'. 2025-05-24 23:44:41 +02:00
400d8b728c rcopy.conf.sample: The backup script now determines itself whether the backup hard drive is encrypted or not. 2025-05-24 23:39:16 +02:00
f2aab415d0 rcopy.sh: renew ssh agent stuff. 2025-02-13 11:59:34 +01:00
35b1e38dcc rcopy.sh: Fix error in loading ssh agent. 2024-12-11 17:14:20 +01:00
1c3bb571e1 rcopy.sh: fix error with handling ssh agent. 2024-12-11 03:14:02 +01:00
dbe87cf75f cleanup directory 'Moved-o-borg2'. 2024-12-10 17:54:35 +01:00
3eb272a2a3 ignore ditrctory 'Moved-o-borg2'. 2024-12-10 17:52:12 +01:00
5a288f6cb4 ignore ditrctory 'Moved-o-borg2'. 2024-12-10 17:50:00 +01:00
7d6774149c Change add (default) ssh key fot ssh-agent. 2024-12-10 14:17:36 +01:00
64971f6afa Add support for network directories on backups for remote maschines. 2024-05-03 13:49:13 +02:00
a70ea6a55c mysql_backup.sh: fix error: in case of backup from localhost closing ';' sign was missing. 2024-01-30 00:27:07 +01:00
041fc50d5d Add flag '-B' if rcopy_manual.sh was called; fix error if onlx netdirs should be saved. 2024-01-29 15:21:31 +01:00
2a6ab0d97a mysql_backup.sh: don't include databases 'mysql' and 'sys' into database creation sql file. 2023-08-16 17:58:48 +02:00
441f3cee66 mysql_backup.sh: add 'Create user' scripts.. 2023-08-12 22:57:51 +02:00
119bc81043 hosts/scripts/mysql_backup.sh: exclude some user like 'mariadb.sys' from user-creation-statements. 2023-08-12 15:47:23 +02:00
c08ab862a5 backup_script.sh.sample: add empty line for better reading.. 2023-08-06 18:30:45 +02:00
a2418463f7 Support setting MySQL System Variable '--max-allowed-packet' at host configuration - part 2 2023-08-06 18:19:32 +02:00
fbabeb6873 Support setting MySQL System Variable '--max-allowed-packet' at host configuration. 2023-08-06 18:15:13 +02:00
ed214bcc5b fix error seting variable backupSrcDir: backup at debian 12 was runs into error becaus of the double quotes; some other fixings.. 2023-07-28 13:32:47 +02:00
d986a12ff4 rcopy.sh: optinize partition after filesystemcheck. 2023-03-14 10:35:01 +01:00
d3cfc57799 Merge branch 'master' of git.oopen.de:backup/backup-rcopy 2023-03-03 23:54:03 +01:00
e9ee613a50 mysql_backup.sh: some minor changes in comments. 2023-03-03 23:53:45 +01:00
9 changed files with 473 additions and 174 deletions

9
.gitignore vendored
View File

@ -1,9 +1,10 @@
*.swp
/conf/logrotate.conf
/conf/rcopy.conf
/conf/manual_hosts.conf
/conf/restore-website-from-backup.conf
/conf/exclude_from.list
/conf/*.conf
/conf/*.key
/hosts/*.sh
/hosts/BAK/*
/hosts/deleted/*
/hosts/OLD-Backup-Host/*
/hosts/Not_Yet-Moved/*
/hosts/Moved-o-borg2/*

View File

@ -24,6 +24,8 @@ BACKUP_HOST=`hostname -f`
HOME_DIR=$HOME
AGENT=/tmp/.agent-$USER.sh
SSH_KEY=/root/.ssh/id_ed25519-backup
admin_email="<ADMIN_EMAIL>"
from_address="backup@`hostname -f`"
company="<COMPANY>"
@ -84,12 +86,7 @@ backup_partition=
disk_identifier=
_found=false
if $crypto_backup_device ; then
backup_raw_partition=$_backup_partition
backup_partition="/dev/mapper/${backup_partition_name}"
elif $extern_usb_disk || $extern_sata_disk || $intern_disk ; then
if $extern_usb_disk || $extern_sata_disk || $intern_disk ; then
## - In case of unencrypted (and labeled) extern backup disc
## -
@ -113,10 +110,20 @@ elif $extern_usb_disk || $extern_sata_disk || $intern_disk ; then
## - Backup device could not be detected, so we will try the (above) given one..
## -
backup_partition=$_backup_partition
backup_raw_partition=$_backup_partition
#backup_partition=$_backup_partition
else
backup_partition=/dev/$disk_identifier
backup_raw_partition=/dev/$disk_identifier
#backup_partition=/dev/$disk_identifier
fi
if $(cryptsetup isLuks $backup_raw_partition) ; then
crypto_backup_device=true
backup_partition="/dev/mapper/${backup_partition_name}"
else
crypto_backup_device=false
backup_partition=$backup_raw_partition
fi
fi

View File

@ -150,10 +150,27 @@ mysql_backup=false
mysql_credential_args="--login-path=local"
mysql_user=backup
mysql_password=backup
## - gzip mysql dump files?
## -
mysql_gzip=false
## - mysql_max_allowed_packet
## -
## - Set / Change MySQL System Variable '--max-allowed-packet'
## -
## - i.e. prevents errors like:
## -
## - When a client server receives larger packet bytes, an error occurs. The connection faces
## - ER_NET_PACKET_TOO_LARGE error a
## - nd closes instantly.
## -
## - Another error can be
## - Lost Connection to Server During Query Error.
## - It has the same reason, i.e., a large communication packet.
## -
mysql_max_allowed_packet='512M'
## - restart apache after mysqldump
## -

View File

@ -52,7 +52,7 @@ if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then
fi
backupSrcParentDir=`$dirname "$real_backupSrcDir"`
real_dir_name=`$basename "$real_backupSrcDir"`
backupSrcDir="${ssh_user}@${srcHost}:\"$real_backupSrcDir\""
backupSrcDir="${ssh_user}@${srcHost}:$real_backupSrcDir"
else
#if [ ! -e $_backupSrcDir ] ; then
@ -154,9 +154,9 @@ if $MIRROR ;then
if [ "$srcHost" = "localhost" -a "$destHost" = "localhost" ] ; then
if [ $_DEBUG -gt 1 -a $_TEST -eq 0 ]; then
echolog "$rsync --rsync-path='sudo rsync' $progArgs $logArgs="$formats" $backupSrcDir $backup_mirror_dir/$backupSrcParentDir" 2
echolog "$rsync --rsync-path='sudo rsync' -e \"ssh $ssh_opts\" $progArgs $logArgs=\"$formats\" \"$backupSrcDir\" $backup_mirror_dir/$backupSrcParentDir" 2
$(
$rsync --rsync-path='sudo -i -u root rsync' $progArgs $logArgs="$formats" \
$rsync --rsync-path='sudo rsync' -e "ssh $ssh_opts" $progArgs $logArgs="$formats" \
"$backupSrcDir" $backup_mirror_dir/$backupSrcParentDir >> $logFile 2> $err_Log
exit $?
)
@ -170,9 +170,9 @@ if $MIRROR ;then
retval=$?
else
if [ $_DEBUG -gt 1 -a $_TEST -eq 0 ]; then
echolog "$rsync --rsync-path='sudo rsync' -e "ssh $ssh_opts" $progArgs $logArgs="$formats" $backupSrcDir $backup_mirror_dir/$backupSrcParentDir" 2
echolog "$rsync --rsync-path='sudo rsync' -e \"ssh $ssh_opts\" $progArgs $logArgs=\"$formats\" $backupSrcDir $backup_mirror_dir/$backupSrcParentDir" 2
$(
$rsync --rsync-path='sudo -i -u root rsync' $progArgs $logArgs="$formats" \
$rsync --rsync-path='sudo rsync' -e "ssh $ssh_opts" $progArgs $logArgs="$formats" \
"$backupSrcDir" $backup_mirror_dir/$backupSrcParentDir >> $logFile 2> $err_Log
exit $?
)

View File

@ -127,7 +127,7 @@ fi
## -
[[ -z "$nextcloud_backup" ]] && nextcloud_backup=false
if [ "$found" = "true" -o "$pgsql_backup" = "true" -o "$mysql_backup" = "true" -o "$disksetting_backup" = "true" -o "$nextcloud_backup" = "true" ] ; then
if [ "$found" = "true" -o "$pgsql_backup" = "true" -o "$mysql_backup" = "true" -o "$disksetting_backup" = "true" -o "$nextcloud_backup" = "true" -o "$mount_netdir" = "true" ] ; then
begin_h=`date +%H`
begin_m=`date +%M`
@ -348,7 +348,7 @@ if [ "$found" = "true" -o "$pgsql_backup" = "true" -o "$mysql_backup" = "true"
if $mount_netdir; then
echolog "\nGoing to backup network directories.. ( `$date +%H`:`$date +%M` h )"
for dir in $net_mounted_dir_backup ; do
echolog "\n\tBackup network directory $dir"
#echolog "\n\tBackup network directory $dir"
export mount_netdir
backup_dir=$dir $script_dir/net_mounted_dir_backup.sh
done

View File

@ -89,11 +89,11 @@
## - 1.) Create (encrypted) option file:
## -
## - Debian package installation:
## - $ mysql_config_editor set --login-path=local --socket=/var/run/mysqld/mysqld.sock --user=backup --password
## - $ mysql_config_editor set --login-path=local --socket=/run/mysqld/mysqld.sock --user=backup --password
## - $ Password:
## -
## - Source installation:
## - $ mysql_config_editor set --login-path=local --socket=/tmp/mysql.sock --user=backup --password
## - $ mysql_config_editor set --login-path=local --socket=/run/mysqld/mysqld.sock --user=backup --password
## - $ Password:
## -
## - 2.) Set environment variable mysql_credential_args="--login-path=local"
@ -103,11 +103,13 @@
## -
## - MariaDB > 10.3 or installed from debian package system:
## -
## - mysql -u root -S /var/run/mysqld/mysqld.sock -N -s -e "CREATE USER 'backup'@'localhost' IDENTIFIED BY 'backup'"
## - mysql -u root -S /run/mysqld/mysqld.sock -N -s -e "CREATE USER 'backup'@'localhost' IDENTIFIED BY 'backup'"
## -
## - mysql -u root -S /var/run/mysqld/mysqld.sock -N -s -e "GRANT USAGE ON *.* TO 'backup'@'localhost'"
## - mysql -u root -S /run/mysqld/mysqld.sock -N -s -e "GRANT USAGE ON *.* TO 'backup'@'localhost'"
## -
## - mysql -u root -S /var/run/mysqld/mysqld.sock -N -s -e "GRANT SELECT, SHOW VIEW, EVENT, LOCK TABLES, RELOAD, REPLICATION CLIENT ON *.* TO 'backup'@'localhost'"
## - mysql -u root -S /run/mysqld/mysqld.sock -N -s -e "GRANT SELECT, SHOW VIEW, EVENT, LOCK TABLES, EXECUTE, RELOAD, BINLOG MONITOR, REPLICATION CLIENT ON *.* TO 'backup'@'localhost'"
## -
## - mysql -u root -S /run/mysqld/mysqld.sock -N -s -e "FLUSH PRIVILEGES"
## -
## - !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@ -154,6 +156,10 @@ if [ -z "$mysqldump" ]; then
mysqldump="/usr/local/mysql/bin/mysqldump"
fi
if [[ -z "${mysql_max_allowed_packet}" ]] ; then
mysql_max_allowed_packet="512M"
fi
#
# ------------------ Ende Variable ------------------ #
# --------------------------------------------------- #
@ -249,15 +255,15 @@ if $ARCHIVE ;then
if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then
if [ -n "$mysql_credential_args" ] ; then
$(
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql $mysql_credential_args -N -s -A -e\"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\" | $mysql $mysql_credential_args -N -s -A | sed 's/\$/;/g'" \
> ${_backupDestArchiveDir}/MySQLGrants.sql-${filedate}.sql 2> $err_Log
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql $mysql_credential_args -N -s -A -e\"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'\" | $mysql $mysql_credential_args -N -s -A | sed 's/\$/;/g'" \
> ${_backupDestArchiveDir}/MySQLGrants-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
else
$(
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql -u$mysql_user -p$mysql_password -N -s -A -e\"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\" | $mysql -u$mysql_user -p$mysql_password -N -s -A | sed 's/\$/;/g'" \
> ${_backupDestArchiveDir}/MySQLGrants.sql-${filedate}.sql 2> $err_Log
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql -u$mysql_user -p$mysql_password -N -s -A -e\"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'\" | $mysql -u$mysql_user -p$mysql_password -N -s -A | sed 's/\$/;/g'" \
> ${_backupDestArchiveDir}/MySQLGrants-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
@ -265,15 +271,15 @@ if $ARCHIVE ;then
else
if [ -n "$mysql_credential_args" ] ; then
$(
$mysql $mysql_credential_args -N -s -A -e"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'" | $mysql $mysql_credential_args -N -s -A | sed 's/\$/;/g' \
> ${_backupDestArchiveDir}/MySQLGrants.sql-${filedate}.sql 2> $err_Log
$mysql $mysql_credential_args -N -s -A -e"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'" | $mysql $mysql_credential_args -N -s -A | sed "s/\$/;/g" \
> ${_backupDestArchiveDir}/MySQLGrants-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
else
$(
$mysql -u$mysql_user -p$mysql_password -N -s -A -e"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'" | $mysql -u$mysql_user -p$mysql_password -N -s -A | sed 's/\$/;/g' \
> ${_backupDestArchiveDir}/MySQLGrants.sql-${filedate}.sql 2> $err_Log
$mysql -u$mysql_user -p$mysql_password -N -s -A -e"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'" | $mysql -u$mysql_user -p$mysql_password -N -s -A | sed "s/\$/;/g" \
> ${_backupDestArchiveDir}/MySQLGrants-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
@ -287,9 +293,9 @@ if $ARCHIVE ;then
if [ "$retval" = 0 ];then
[ -z $mysql_gzip ] && mysql_gzip=false
if $mysql_gzip ; then
$gzip ${_backupDestArchiveDir}/MySQLGrants.sql-${filedate}.sql 2> $err_Log
$gzip ${_backupDestArchiveDir}/MySQLGrants-${filedate}.sql 2> $err_Log
retval=$?
err_msg="Cannot gzip \"MySQLGrants.sql-${filedate}.sql\""
err_msg="Cannot gzip \"MySQLGrants-${filedate}.sql\""
keep_backup_on_error=true
fi
fi
@ -321,7 +327,7 @@ if $ARCHIVE ;then
echolog ""
echolog "\t[ERROR] ${err_msg} [ $duration ]\n\t`$cat $err_Log`\n"
if ! $keep_backup_on_error ; then
rm -f ${_backupDestArchiveDir}/MySQLGrants.sql-${filedate}.sql
rm -f ${_backupDestArchiveDir}/MySQLGrants-${filedate}.sql
fi
else
@ -354,9 +360,9 @@ if $ARCHIVE ;then
if [ "$MYSQL_VERSION_NUM" -ge 050700 ]; then
## -----------------------------
## - Backup/Create User Craetion sql statements (00)
## - Backup/Create User Craetion sql statements MySQL (00)
## -
info_msg="create User creation SQL file (00)"
info_msg="create User creation SQL file MySQL (00)"
echononl "\t$info_msg"
## - begin timestamp
@ -368,15 +374,15 @@ if $ARCHIVE ;then
if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then
if [ -n "$mysql_credential_args" ] ; then
$(
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql $mysql_credential_args -N -s -A -e\"SELECT CONCAT('SHOW CREATE USER ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\" | $mysql $mysql_credential_args -N -s -A | sed 's/\$/;/g'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-00.sql-${filedate}.sql 2> $err_Log
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql $mysql_credential_args -N -s -A -e\"SELECT CONCAT('SHOW CREATE USER ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'\" | $mysql $mysql_credential_args -N -s -A | sed 's/\$/;/g'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-00-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
else
$(
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql -u$mysql_user -p$mysql_password -N -s -A -e\"SELECT CONCAT('SHOW CREATE USER ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\" | $mysql $mysql_credential_args -N -s -A | sed 's/\$/;/g'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-00.sql-${filedate}.sql 2> $err_Log
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql -u$mysql_user -p$mysql_password -N -s -A -e\"SELECT CONCAT('SHOW CREATE USER ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'\" | $mysql $mysql_credential_args -N -s -A | sed 's/\$/;/g'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-00-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
@ -384,15 +390,15 @@ if $ARCHIVE ;then
else
if [ -n "$mysql_credential_args" ] ; then
$(
$mysql $mysql_credential_args -N -s -A -e"SELECT CONCAT('SHOW CREATE USER ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'" | $mysql $mysql_credential_args -N -s -A | sed 's/\$/;/g' \
> ${_backupDestArchiveDir}/MySQLCreateUser-00.sql-${filedate}.sql 2> $err_Log
$mysql $mysql_credential_args -N -s -A -e"SELECT CONCAT('SHOW CREATE USER ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'" | $mysql $mysql_credential_args -N -s -A | sed "s/\$/;/g" \
> ${_backupDestArchiveDir}/MySQLCreateUser-00-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
else
$(
$mysql $mysql_credential_args -N -s -A -e"SELECT CONCAT('SHOW CREATE USER ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'" | $mysql $mysql_credential_args -N -s -A | sed 's/\$/;/g' \
> ${_backupDestArchiveDir}/MySQLCreateUser-00.sql-${filedate}.sql 2> $err_Log
$mysql -u$mysql_user -p$mysql_password -N -s -A -e"SELECT CONCAT('SHOW CREATE USER ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'" | $mysql $mysql_credential_args -N -s -A | sed "s/\$/;/g" \
> ${_backupDestArchiveDir}/MySQLCreateUser-00-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
@ -400,15 +406,15 @@ if $ARCHIVE ;then
fi
err_msg="Cannot create User Creation SQL file (00)"
err_msg="Cannot create User Creation SQL file MySQL (00)"
keep_backup_on_error=false
if [ "$retval" = 0 ];then
[ -z $mysql_gzip ] && mysql_gzip=false
if $mysql_gzip ; then
$gzip ${_backupDestArchiveDir}/MySQLCreateUser-00.sql-${filedate}.sql 2> $err_Log
$gzip ${_backupDestArchiveDir}/MySQLCreateUser-00-${filedate}.sql 2> $err_Log
retval=$?
err_msg="Cannot gzip \"MySQLCreateUser-00.sql-${filedate}.sql\""
err_msg="Cannot gzip \"MySQLCreateUser-00-${filedate}.sql\""
keep_backup_on_error=true
fi
fi
@ -440,7 +446,7 @@ if $ARCHIVE ;then
echolog ""
echolog "\t[ERROR] ${err_msg} [ $duration ]\n\t`$cat $err_Log`\n"
if ! $keep_backup_on_error ; then
rm -f ${_backupDestArchiveDir}/MySQLCreateUser-00.sql-${filedate}.sql
rm -f ${_backupDestArchiveDir}/MySQLCreateUser-00-${filedate}.sql
fi
else
@ -460,14 +466,14 @@ if $ARCHIVE ;then
echolog " [ $duration ]"
fi
## - End: Backup/Create User Craetion sql statements (00)
## - End: Backup/Create User Craetion sql statements MySQL (00)
## ----------------------------------
## -----------------------------
## - Backup/Create User Craetion sql statements (01)
## - Backup/Create User Craetion sql statements MySQL (01)
## -
info_msg="create User creation SQL file (01)"
info_msg="create User creation SQL file MySQL (01)"
echononl "\t$info_msg"
## - begin timestamp
@ -479,15 +485,15 @@ if $ARCHIVE ;then
if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then
if [ -n "$mysql_credential_args" ] ; then
$(
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql $mysql_credential_args -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password ; UPDATE user SET authentication_string = ''',authentication_string,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\"" \
> ${_backupDestArchiveDir}/MySQLCreateUser-01.sql-${filedate}.sql 2> $err_Log
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql $mysql_credential_args -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password ; UPDATE user SET authentication_string = ''',authentication_string,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'\"" \
> ${_backupDestArchiveDir}/MySQLCreateUser-01-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
else
$(
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql -u$mysql_user -p$mysql_password -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password ; UPDATE user SET authentication_string = ''',authentication_string,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\"" \
> ${_backupDestArchiveDir}/MySQLCreateUser-01.sql-${filedate}.sql 2> $err_Log
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql -u$mysql_user -p$mysql_password -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password ; UPDATE user SET authentication_string = ''',authentication_string,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'\"" \
> ${_backupDestArchiveDir}/MySQLCreateUser-01-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
@ -495,15 +501,15 @@ if $ARCHIVE ;then
else
if [ -n "$mysql_credential_args" ] ; then
$(
$mysql $mysql_credential_args -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password ; UPDATE user SET authentication_string = ''',authentication_string,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-01.sql-${filedate}.sql 2> $err_Log
$mysql $mysql_credential_args -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password ; UPDATE user SET authentication_string = ''',authentication_string,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-01-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
else
$(
$mysql -u$mysql_user -p$mysql_password -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password ; UPDATE user SET authentication_string = ''',authentication_string,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-01.sql-${filedate}.sql 2> $err_Log
$mysql -u$mysql_user -p$mysql_password -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password ; UPDATE user SET authentication_string = ''',authentication_string,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-01-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
@ -511,15 +517,15 @@ if $ARCHIVE ;then
fi
err_msg="Cannot create User Creation SQL file (01)"
err_msg="Cannot create User Creation SQL file MySQL (01)"
keep_backup_on_error=false
if [ "$retval" = 0 ];then
[ -z $mysql_gzip ] && mysql_gzip=false
if $mysql_gzip ; then
$gzip ${_backupDestArchiveDir}/MySQLCreateUser-01.sql-${filedate}.sql 2> $err_Log
$gzip ${_backupDestArchiveDir}/MySQLCreateUser-01-${filedate}.sql 2> $err_Log
retval=$?
err_msg="Cannot gzip \"MySQLCreateUser-01.sql-${filedate}.sql\""
err_msg="Cannot gzip \"MySQLCreateUser-01-${filedate}.sql\""
keep_backup_on_error=true
fi
fi
@ -551,7 +557,7 @@ if $ARCHIVE ;then
echolog ""
echolog "\t[ERROR] ${err_msg} [ $duration ]\n\t`$cat $err_Log`\n"
if ! $keep_backup_on_error ; then
rm -f ${_backupDestArchiveDir}/MySQLCreateUser-01.sql-${filedate}.sql
rm -f ${_backupDestArchiveDir}/MySQLCreateUser-01-${filedate}.sql
fi
else
@ -571,15 +577,13 @@ if $ARCHIVE ;then
echolog " [ $duration ]"
fi
## - End: Backup/Create User Craetion sql statements (01)
## - End: Backup/Create User Craetion sql statements MySQL (01)
## ----------------------------------
elif [ $MYSQL_VERSION_NUM -ge 050600 ]; then
## -----------------------------
## - User Craetion sql statements for MySQL 5.7.x
## - Create User Craetion sql statements for MariaDB
## -
info_msg="create User creation SQL file for MySQL 5.7.x"
info_msg="create User creation SQL file for MariaDB"
echononl "\t$info_msg"
## - begin timestamp
@ -588,50 +592,50 @@ if $ARCHIVE ;then
filedate=`$date +"%Y-%m-%d-%H%M"`
if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then
if [ -n "$mysql_credential_args" ] ; then
$(
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql $mysql_credential_args -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password AS ''',password,'''; ') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\"" \
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then
if [ -n "$mysql_credential_args" ] ; then
$(
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql $mysql_credential_args -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED BY PASSWORD ''',authentication_string,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'\"" \
> ${_backupDestArchiveDir}/MySQLCreateUser-MariaDB-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
else
$(
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql -u$mysql_user -p$mysql_password -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password AS ''',password,'''; ') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\"" \
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
fi
$(
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql -u$mysql_user -p$mysql_password -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED BY PASSWORD ''',authentication_string,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'\"" \
> ${_backupDestArchiveDir}/MySQLCreateUser-MariaDB-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
fi
else
if [ -n "$mysql_credential_args" ] ; then
$(
$mysql $mysql_credential_args -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password AS ''',password,'''; ') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
if [ -n "$mysql_credential_args" ] ; then
$(
$mysql $mysql_credential_args -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED BY PASSWORD ''',authentication_string,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-MariaDB-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
else
$(
$mysql -u$mysql_user -p$mysql_password -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password AS ''',password,'''; ') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
fi
fi
$(
$mysql -u$mysql_user -p$mysql_password -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED BY PASSWORD ''',authentication_string,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-MariaDB-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
fi
fi
err_msg="Cannot create User Creation SQL file for MySQL 5.7.x"
err_msg="Cannot create User Creation SQL file for MariaDB"
keep_backup_on_error=false
if [ "$retval" = 0 ];then
[ -z $mysql_gzip ] && mysql_gzip=false
if $mysql_gzip ; then
$gzip ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql 2> $err_Log
$gzip ${_backupDestArchiveDir}/MySQLCreateUser-MariaDB-${filedate}.sql 2> $err_Log
retval=$?
err_msg="Cannot gzip \"MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql\""
err_msg="Cannot gzip \"MySQLCreateUser-MariaDB-${filedate}.sql\""
keep_backup_on_error=true
fi
fi
@ -663,7 +667,119 @@ if $ARCHIVE ;then
echolog ""
echolog "\t[ERROR] ${err_msg} [ $duration ]\n\t`$cat $err_Log`\n"
if ! $keep_backup_on_error ; then
rm -f ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql
rm -f ${_backupDestArchiveDir}/MySQLCreateUser-MariaDB-${filedate}.sql
fi
else
## - print durations right-aligned
## -
[ -z $right_tabstop ] && right_tabstop=65
_tmp_string="${info_msg}${duration}"
_strlen=${#_tmp_string}
_count_blank=`expr $right_tabstop - $_strlen`
_str_blanks=""
while [ $_count_blank -gt 1 ]; do
_str_blanks="$_str_blanks "
_count_blank=`expr $_count_blank - 1`
done
echononl "$_str_blanks"
echolog " [ $duration ]"
fi
## - End: Create User Craetion sql statementsfor MariaDB
## ----------------------------------
elif [ $MYSQL_VERSION_NUM -ge 050600 ]; then
## -----------------------------
## - User Craetion sql statements for MySQL 5.7.x
## -
info_msg="create User creation SQL file for MySQL 5.7.x"
echononl "\t$info_msg"
## - begin timestamp
## -
b_timestamp=`$date +"%s"`
filedate=`$date +"%Y-%m-%d-%H%M"`
if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then
if [ -n "$mysql_credential_args" ] ; then
$(
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql $mysql_credential_args -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password AS ''',password,'''; ') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'\"" \
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
else
$(
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql -u$mysql_user -p$mysql_password -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password AS ''',password,'''; ') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'\"" \
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
fi
else
if [ -n "$mysql_credential_args" ] ; then
$(
$mysql $mysql_credential_args -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password AS ''',password,'''; ') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
else
$(
$mysql -u$mysql_user -p$mysql_password -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password AS ''',password,'''; ') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
fi
fi
err_msg="Cannot create User Creation SQL file for MySQL 5.7.x"
keep_backup_on_error=false
if [ "$retval" = 0 ];then
[ -z $mysql_gzip ] && mysql_gzip=false
if $mysql_gzip ; then
$gzip ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7-${filedate}.sql 2> $err_Log
retval=$?
err_msg="Cannot gzip \"MySQLCreateUser-for-MySQL-5.7-${filedate}.sql\""
keep_backup_on_error=true
fi
fi
## - end timestamp
## -
e_timestamp=`$date +"%s"`
## - determin duration
## -
_time=`expr $e_timestamp - $b_timestamp`
t_h=`expr $_time / 60 / 60`
t_rest_h=`expr $_time - $t_h \\* 60 \\* 60`
t_m=`expr $t_rest_h / 60`
t_s=`expr $t_rest_h - $t_m \\* 60`
duration=""
if [ $t_h -gt 0 ]; then
duration="$t_h h : $t_m min : $t_s sec"
elif [ $t_m -gt 0 ];then
duration="$t_m min : $t_s sec"
else
duration="$t_s sec"
fi
## - look about errors..
## -
if [ "$retval" != "0" ]; then
print_error_stdout "${err_msg}:\n $(cat $err_Log)"
echolog ""
echolog "\t[ERROR] ${err_msg} [ $duration ]\n\t`$cat $err_Log`\n"
if ! $keep_backup_on_error ; then
rm -f ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7-${filedate}.sql
fi
else
@ -691,9 +807,9 @@ if $ARCHIVE ;then
elif [[ "$MYSQL_DISTRIBUTION" = "MariaDB" ]] ; then
## -----------------------------
## - Create User Craetion sql statements (MariaDB)
## - Backup/Create User Craetion sql statements MariaDB (00)
## -
info_msg="create User creation SQL file (MariaDB)"
info_msg="create User creation SQL file MariaDB (00)"
echononl "\t$info_msg"
## - begin timestamp
@ -705,15 +821,15 @@ if $ARCHIVE ;then
if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then
if [ -n "$mysql_credential_args" ] ; then
$(
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql $mysql_credential_args -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS''',user,'''@''localhost''; UPDATE user SET password = ''',password,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\"" \
> ${_backupDestArchiveDir}/MySQLCreateUser.sql-${filedate}.sql 2> $err_Log
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql $mysql_credential_args -N -s -A -e\"SELECT CONCAT('SHOW CREATE USER ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'\" | $mysql $mysql_credential_args -N -s -A | sed 's/\$/;/g'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-00-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
else
$(
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql -u$mysql_user -p$mysql_password -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost''; UPDATE user SET password = ''',password,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\"" \
> ${_backupDestArchiveDir}/MySQLCreateUser.sql-${filedate}.sql 2> $err_Log
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql -u$mysql_user -p$mysql_password -N -s -A -e\"SELECT CONCAT('SHOW CREATE USER ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'\" | $mysql $mysql_credential_args -N -s -A | sed 's/\$/;/g'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-00-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
@ -721,15 +837,15 @@ if $ARCHIVE ;then
else
if [ -n "$mysql_credential_args" ] ; then
$(
$mysql $mysql_credential_args -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS''',user,'''@''localhost''; UPDATE user SET password = ''',password,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'" \
> ${_backupDestArchiveDir}/MySQLCreateUser.sql-${filedate}.sql 2> $err_Log
$mysql $mysql_credential_args -N -s -A -e"SELECT CONCAT('SHOW CREATE USER ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'" | $mysql $mysql_credential_args -N -s -A | sed "s/\$/;/g" \
> ${_backupDestArchiveDir}/MySQLCreateUser-00-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
else
$(
$mysql -u$mysql_user -p$mysql_password -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS''',user,'''@''localhost''; UPDATE user SET password = ''',password,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'" \
> ${_backupDestArchiveDir}/MySQLCreateUser.sql-${filedate}.sql 2> $err_Log
$mysql -u$mysql_user -p$mysql_password -N -s -A -e"SELECT CONCAT('SHOW CREATE USER ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'" | $mysql $mysql_credential_args -N -s -A | sed "s/\$/;/g" \
> ${_backupDestArchiveDir}/MySQLCreateUser-00-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
@ -737,15 +853,15 @@ if $ARCHIVE ;then
fi
err_msg="Cannot create User Creation SQL file (MariaDB)"
err_msg="Cannot create User Creation SQL file MariaDB (00)"
keep_backup_on_error=false
if [ "$retval" = 0 ];then
[ -z $mysql_gzip ] && mysql_gzip=false
if $mysql_gzip ; then
$gzip ${_backupDestArchiveDir}/MySQLCreateUser.sql-${filedate}.sql 2> $err_Log
$gzip ${_backupDestArchiveDir}/MySQLCreateUser-00-${filedate}.sql 2> $err_Log
retval=$?
err_msg="Cannot gzip \"MySQLCreateUser.sql-${filedate}.sql\""
err_msg="Cannot gzip \"MySQLCreateUser-00-${filedate}.sql\""
keep_backup_on_error=true
fi
fi
@ -777,7 +893,7 @@ if $ARCHIVE ;then
echolog ""
echolog "\t[ERROR] ${err_msg} [ $duration ]\n\t`$cat $err_Log`\n"
if ! $keep_backup_on_error ; then
rm -f ${_backupDestArchiveDir}/MySQLCreateUser.sql-${filedate}.sql
rm -f ${_backupDestArchiveDir}/MySQLCreateUser-00-${filedate}.sql
fi
else
@ -797,13 +913,13 @@ if $ARCHIVE ;then
echolog " [ $duration ]"
fi
## - End: Create User Craetion sql statements (MariaDB)
## - End: Backup/Create User Craetion sql statements (MariaDB)
## ----------------------------------
## -----------------------------
## - Create User Craetion sql statements for MySQL 5.7.x (from MariaDB)
## - Create User Craetion sql statements (MariaDB 01)
## -
info_msg="create User creation SQL file for MySQL 5.7.x (from MariaDB)"
info_msg="create User creation SQL file MariaDB (01)"
echononl "\t$info_msg"
## - begin timestamp
@ -815,15 +931,15 @@ if $ARCHIVE ;then
if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then
if [ -n "$mysql_credential_args" ] ; then
$(
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql $mysql_credential_args -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password ; UPDATE user SET authentication_string = ''',password,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\"" \
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7..sql-${filedate}.sql 2> $err_Log
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql $mysql_credential_args -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost''; SET PASSWORD FOR ''',user,'''@''localhost'' = ''',password,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'\"" \
> ${_backupDestArchiveDir}/MySQLCreateUser-01-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
else
$(
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql -u$mysql_user -p$mysql_password -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password ; UPDATE user SET authentication_string = ''',password,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'\"" \
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7..sql-${filedate}.sql 2> $err_Log
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql -u$mysql_user -p$mysql_password -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost''; SET PASSWORD FOR ''',user,'''@''localhost'' = ''',password,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'\"" \
> ${_backupDestArchiveDir}/MySQLCreateUser-01-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
@ -831,15 +947,15 @@ if $ARCHIVE ;then
else
if [ -n "$mysql_credential_args" ] ; then
$(
$mysql $mysql_credential_args -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password ; UPDATE user SET authentication_string = ''',password,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7..sql-${filedate}.sql 2> $err_Log
$mysql $mysql_credential_args -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost''; SET PASSWORD FOR ''',user,'''@''localhost'' = ''',password,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-01-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
else
$(
$mysql -u$mysql_user -p$mysql_password -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password ; UPDATE user SET authentication_string = ''',password,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7..sql-${filedate}.sql 2> $err_Log
$mysql -u$mysql_user -p$mysql_password -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost''; SET PASSWORD FOR ''',user,'''@''localhost'' = ''',password,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-01-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
@ -847,15 +963,15 @@ if $ARCHIVE ;then
fi
err_msg="Cannot create User Creation SQL file for MySQL-5.7.x (MariaDB)"
err_msg="Cannot create User Creation SQL file MariaDB 01"
keep_backup_on_error=false
if [ "$retval" = 0 ];then
[ -z $mysql_gzip ] && mysql_gzip=false
if $mysql_gzip ; then
$gzip ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql 2> $err_Log
$gzip ${_backupDestArchiveDir}/MySQLCreateUser-01-${filedate}.sql 2> $err_Log
retval=$?
err_msg="Cannot gzip \"MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql\""
err_msg="Cannot gzip \"MySQLCreateUser-01-${filedate}.sql\""
keep_backup_on_error=true
fi
fi
@ -887,7 +1003,117 @@ if $ARCHIVE ;then
echolog ""
echolog "\t[ERROR] ${err_msg} [ $duration ]\n\t`$cat $err_Log`\n"
if ! $keep_backup_on_error ; then
rm -f ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.sql-${filedate}.sql
rm -f ${_backupDestArchiveDir}/MySQLCreateUser-01-${filedate}.sql
fi
else
## - print durations right-aligned
## -
[ -z $right_tabstop ] && right_tabstop=65
_tmp_string="${info_msg}${duration}"
_strlen=${#_tmp_string}
_count_blank=`expr $right_tabstop - $_strlen`
_str_blanks=""
while [ $_count_blank -gt 1 ]; do
_str_blanks="$_str_blanks "
_count_blank=`expr $_count_blank - 1`
done
echononl "$_str_blanks"
echolog " [ $duration ]"
fi
## - End: Create User Craetion sql statements MariaDB (01)
## ----------------------------------
## -----------------------------
## - Create User Craetion sql statements for MySQL 5.7.x (from MariaDB)
## -
info_msg="create User creation SQL file for MySQL 5.7.x (from MariaDB)"
echononl "\t$info_msg"
## - begin timestamp
## -
b_timestamp=`$date +"%s"`
filedate=`$date +"%Y-%m-%d-%H%M"`
if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then
if [ -n "$mysql_credential_args" ] ; then
$(
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql $mysql_credential_args -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password ; UPDATE user SET authentication_string = ''',password,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'\"" \
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
else
$(
$ssh $ssh_options ${ssh_user}@$srcHost "$mysql -u$mysql_user -p$mysql_password -N -s -A -e\"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password ; UPDATE user SET authentication_string = ''',password,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'\"" \
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
fi
else
if [ -n "$mysql_credential_args" ] ; then
$(
$mysql $mysql_credential_args -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password ; UPDATE user SET authentication_string = ''',password,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
else
$(
$mysql -u$mysql_user -p$mysql_password -N -s -A -e"SELECT DISTINCT CONCAT('CREATE USER IF NOT EXISTS ''',user,'''@''localhost'' IDENTIFIED WITH mysql_native_password ; UPDATE user SET authentication_string = ''',password,''' WHERE user = ''',user,'''; FLUSH PRIVILEGES;') FROM mysql.user WHERE user<>'' AND user <> 'root' AND user <> 'sys-maint' AND user <> 'debian-sys-maint' AND user <> 'backup' AND user <> 'mysql.sys' AND user <> 'mysql.session' AND user <> 'mysql' AND user <> 'mariadb.sys'" \
> ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7.-${filedate}.sql 2> $err_Log
exit $?
)
retval=$?
fi
fi
err_msg="Cannot create User Creation SQL file for MySQL-5.7.x (MariaDB)"
keep_backup_on_error=false
if [ "$retval" = 0 ];then
[ -z $mysql_gzip ] && mysql_gzip=false
if $mysql_gzip ; then
$gzip ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7-${filedate}.sql 2> $err_Log
retval=$?
err_msg="Cannot gzip \"MySQLCreateUser-for-MySQL-5.7-${filedate}.sql\""
keep_backup_on_error=true
fi
fi
## - end timestamp
## -
e_timestamp=`$date +"%s"`
## - determin duration
## -
_time=`expr $e_timestamp - $b_timestamp`
t_h=`expr $_time / 60 / 60`
t_rest_h=`expr $_time - $t_h \\* 60 \\* 60`
t_m=`expr $t_rest_h / 60`
t_s=`expr $t_rest_h - $t_m \\* 60`
duration=""
if [ $t_h -gt 0 ]; then
duration="$t_h h : $t_m min : $t_s sec"
elif [ $t_m -gt 0 ];then
duration="$t_m min : $t_s sec"
else
duration="$t_s sec"
fi
## - look about errors..
## -
if [ "$retval" != "0" ]; then
print_error_stdout "${err_msg}:\n $(cat $err_Log)"
echolog ""
echolog "\t[ERROR] ${err_msg} [ $duration ]\n\t`$cat $err_Log`\n"
if ! $keep_backup_on_error ; then
rm -f ${_backupDestArchiveDir}/MySQLCreateUser-for-MySQL-5.7-${filedate}.sql
fi
else
@ -935,6 +1161,10 @@ if $ARCHIVE ;then
continue
fi
if [ "$i" = "mysql" -o "$i" = "sys" ];then
continue
fi
echo "CREATE DATABASE IF NOT EXISTS $i CHARACTER SET utf8 COLLATE utf8_general_ci;" \
>> ${_backupDestArchiveDir}/MySQL_Create_Databases-${filedate}.sql
@ -951,7 +1181,7 @@ if $ARCHIVE ;then
if $mysql_gzip ; then
$gzip ${_backupDestArchiveDir}/MySQL_Create_Databases-${filedate}.sql 2> $err_Log
retval=$?
err_msg="Cannot gzip \"MySQLGrants.sql-${filedate}.sql\""
err_msg="Cannot gzip \"MySQLGrants-${filedate}.sql\""
keep_backup_on_error=true
fi
fi
@ -1167,7 +1397,7 @@ if $ARCHIVE ;then
b_timestamp=`$date +"%s"`
## - Like --opt but without --extended-insert. So
mysqldump_flags="--protocol=SOCKET --max_allowed_packet=512M --skip-opt --add-drop-table --add-locks --create-options --quick --compress --set-charset --disable-keys --lock-tables --routines"
mysqldump_flags="--protocol=SOCKET --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"
if [ "$i" = "information_schema" -o "$i" = "performance_schema" ];then
mysqldump_flags="$mysqldump_flags --single-transaction"

View File

@ -12,6 +12,8 @@
## -
## - !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
err_Log=${LOCK_DIR}/dir.err.log
> $err_Log
## - load functions
## -
@ -19,10 +21,29 @@
if $mount_netdir ; then
if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then
print_error_stdout "Mounting network directories is only possible for localhost - yet:\n $(cat $err_Log)"
echolog ""
echolog "\t[ERROR] Mounting network directories is only possible for localhost - yet"
exit 1
## - Network directory mounted ?
## -
if ! $($ssh ${ssh_user}@${srcHost} df -h 2> /dev/null | grep -q ${backup_dir} 2>/dev/null) ; then
$ssh ${ssh_user}@${srcHost} "$sudo mount ${backup_dir}" > /dev/null 2> $err_Log
if [[ "$?" -ne 0 ]]; then
echolog ""
echolog "\t[ERROR] Mounting '${backup_dir}' on '${srcHost}' failed!\n $(cat "$err_Log")"
exit 1
else
sleep 5
if ! $($ssh ${ssh_user}@${srcHost} df -h 2> /dev/null | grep -q ${backup_dir} 2>/dev/null) ; then
echolog ""
echolog "\t[ERROR] Something went wrong with mounting '${backup_dir}' on '${srcHost}'!"
exit 1
fi
fi
fi
else
## - Network directory mounted ?
## -
@ -43,9 +64,19 @@ fi
## - Check if directory is empty
## -
if [ ! "$(ls -A $backup_dir)" ]; then
echolog "\t[ NOTICE ]: Directory \"$backup_dir\" is empty. So nothing to do..\n"
exit 0
if [ $srcHost != "localhost" ] || $_via_ssh_tunnel ;then
if [ ! "$( $ssh ${ssh_user}@${srcHost} ls -A ${backup_dir})" ] ; then
echolog ""
echolog "\t[ NOTICE ]: Directory \"${backup_dir}\" on \"${srcHost}\" is empty. So nothing to do..\n"
exit 0
fi
else
if [ ! "$(ls -A $backup_dir)" ]; then
echolog ""
echolog "\t[ NOTICE ]: Directory \"$backup_dir\" is empty. So nothing to do..\n"
exit 0
fi
fi
echolog "\n\tBackup network directory \"$backup_dir\" ( `$date +%H`:`$date +%M` h )"
@ -53,10 +84,19 @@ backup_dir=$backup_dir $script_dir/dir_backup.sh
if $mount_netdir ; then
if [ $srcHost != "localhost" ];then
print_error_stdout "Mounting network directories is only possible for localhost - yet:\n $(cat $err_Log)"
echolog ""
echolog "\t[ERROR] Mounting network directories is only possible for localhost - yet"
exit 1
$ssh ${ssh_user}@${srcHost} "$sudo umount ${backup_dir}" > /dev/null 2> $err_Log
if [[ "$?" -ne 0 ]]; then
echolog ""
echolog "\t[ERROR] Unounting '${backup_dir}' on '${srcHost}' failed!\n $(cat "$err_Log")"
exit 1
fi
#print_error_stdout "Mounting network directories is only possible for localhost - yet:\n $(cat $err_Log)"
#echolog ""
#echolog "\t[ERROR] Mounting network directories is only possible for localhost - yet"
#exit 1
else
$umount $backup_dir 2> /dev/null
fi

View File

@ -13,6 +13,8 @@ manual=${manual:=false}
## -
USER=$LOGNAME
DEFAULT_SSH_KEY="/root/.ssh/id_ed25519-backup"
## - global configuration for the remote backup-script
## -
rcopy_base_dir="$(realpath $(dirname $0))"
@ -46,10 +48,12 @@ fi
NO_NEW_BACKUP=false
ONLY_BACKUP=false
MANUAL=false
while getopts BhNm opt ; do
while getopts Bhk:Nm opt ; do
case $opt in
B) ONLY_BACKUP=true
;;
k) SSH_KEY=$OPTARG
;;
m) MANUAL=true
;;
N) NO_NEW_BACKUP=true
@ -60,6 +64,10 @@ while getopts BhNm opt ; do
esac
done
if [[ -z "${SSH_KEY}" ]] ; then
SSH_KEY="${DEFAULT_SSH_KEY}"
fi
if $ONLY_BACKUP && $NO_NEW_BACKUP ; then
fatal "Parameter '-B' AND '-N' is not possible."
fi
@ -243,39 +251,30 @@ elif $remote_disk ; then
fi
## - $AGENT muss (root) geh<65>ren und darf nicht beschreibbar sein
## -
# ---
# SSH agent stuff
## --
if [ ! -O $AGENT ] || ! ps ax | grep ssh-agent | grep -v grep > /dev/null ; then
# Kill remaining ssh-agent processes if exists
#
if $(ps -U ${USER} -u ${USER} | ${grep} -q ssh-agent 2> /dev/null) ; then
killall ssh-agent > /dev/null 2> /dev/null
rm -f $AGENT
ssh-agent > $AGENT; . $AGENT > /dev/null ; ssh-add > /dev/null 2>&1
unset SSH_AGENT_PID
fi
if [ ! -O $AGENT ]; then
# Run SSH-Agent as background process..
#
eval $(ssh-agent 2> /dev/null | tee ${AGENT}) > /dev/null
msg_00="\n[ Error ]: No file \"$AGENT\" for ssh-agent informations found or i'm not the owner !!"
msg_01="\t ======================="
msg_02="\t !! BACKUP INTERUPTED !!"
msg_03="As user \"$USER\" do:\n\tssh-agent > $AGENT; . $AGENT; ssh-add"
msg="${msg_00}\n\n${msg_01}\n${msg_02}\n${msg_01}\n\n${msg_03}"
if $MANUAL ; then
echo -e "\n$msg\n"
else
datum="$(date +"%d.%m.%Y")"
subject="Backup Errors $company -- $datum"
subject_utf8="$(echo "$subject" | iconv -t UTF8)"
subject_utf8_encoded="=?utf-8?B?$(echo $subject_utf8 | base64 --wrap=0)?="
echo -e "To:${admin_email}\n${content_type}\nSubject:${subject_utf8_encoded}\n${msg}\n" | /usr/sbin/sendmail -F "Errors BACKUP $company" -f $from_address $admin_email
fi
exit 1
fi
. $AGENT > /dev/null 2>&1
# Load the SSH private key into ssh agent
#
ssh-add -q ${SSH_KEY} 2> /dev/null
if [ ! `$ps aux | $grep -e"^$USER" | $grep "$SSH_AGENT_PID" | $grep ssh-agent | awk '{print$2}'` ]; then
# Check if ssh key was loaded
#
if ! $(ps -U ${USER} -u ${USER} | $grep "$SSH_AGENT_PID" | $grep -q ssh-agent 2> /dev/null) ; then
msg_00="\n[ Error ]: No Prozess for ssh-agent with Process ID \"$SSH_AGENT_PID\" found !!"
msg_01="\t ======================="
@ -483,9 +482,14 @@ if $extern_usb_disk || $extern_sata_disk ; then
declare -i mount_count=`$tune2fs -l $backup_partition | $grep "Mount count" | $cut -d ":" -f 2`
declare -i max_mount_count=`$tune2fs -l $backup_partition | $grep "Maximum mount count" | $cut -d ":" -f 2`
if [ $mount_count -ge $max_mount_count ]; then
echo -e "Check partition '${backup_partition}' - Run: $e2fsck -p $backup_partition .."
$e2fsck -p $backup_partition
if [ $? -gt 0 ]; then
echo -e "\n[ERROR] filecheck on $backup_partition failed.."
else
echo ""
echo -e "Check agaim in order to optimize - Run: $e2fsck -fy $backup_partition .."
$e2fsck -fy $backup_partition
fi
$tune2fs -C 0 $backup_partition
fi

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash
script_dir=$(realpath `dirname $0`)
$script_dir/rcopy.sh -m $*
$script_dir/rcopy.sh -m -B $*
exit $?