Package: automysqlbackup
Version: 2.6+debian.4-3
Severity: normal
Tags: newcomer patch upstream

Dear Maintainer,

I use automysqlbackup on many Debian 10 with LATEST=yes in
/etc/default/automysqlbackup
(and a psotscript which seem unreleated to this BR)

I start doing the same on Debian testing on 2021-04-02.
automysqlbackup is sending 2 error e-mails earch morning since then.

> Subject: ERRORS REPORTED: MySQL Backup error Log for logapp - 
> 2021-04-06_06h25m
> 
> cp: impossible d'évaluer 'icinga2.gz': Aucun fichier ou dossier de ce type
> (= No Such file or directory in french)

> Subject: MySQL Backup Log for servername - 2021-04-06_06h25m
>
> (No errors in it at all)
> ======================================================================
> AutoMySQLBackup VER 2.5
> http://sourceforge.net/projects/automysqlbackup/
> 
> Backup of Database Server - servername
> ======================================================================
> Backup Start Time mar. 06 avril 2021 06:25:01 CEST
> ======================================================================
> Daily Backup of Database ( dbname )
> Rotating last weeks Backup...
> '/var/lib/automysqlbackup/daily/dbname/dbname_2021-03-30_06h25m.mardi.sql.gz' 
> supprimé
> 
> 
> Backup Information for 
> /var/lib/automysqlbackup/daily/dbname/dbname_2021-04-06_06h25m.mardi.sql
>          compressed        uncompressed  ratio uncompressed_name
>               48414              299090  83.8% 
> /var/lib/automysqlbackup/daily/dbname/dbname_2021-04-06_06h25m.mardi.sql
> ----------------------------------------------------------------------
> Backup End mar. 06 avril 2021 06:25:02 CEST
> ======================================================================
> Total disk space used for backup storage..
> Size - Location
> 596K /var/lib/automysqlbackup
> 
> ======================================================================
> If you find AutoMySQLBackup valuable please make a donation at
> http://sourceforge.net/project/project_donations.php?group_id=101066
> ======================================================================
> ======================================================================
> Postbackup command output.
> 
> 
> ======================================================================

If I ran manually automysqlbackup ithout args as root, the exit code is
1 and no outpout or stderr on terminal.

If I ran manually bash -x $(which automysqlbackup), no usefull output on
terminal, but detailled email :

> + SUFFIX=
> + '[' '' ']'
> + '[' yes = yes ']'
> + '[' yes = no ']'
> + OPT='--quote-names --events --routines --databases'
> + '[' localhost = localhost ']'
> ++ hostname
> + HOST=servername
> + '[' '' ']'
> + '[' 'dbname ' = all ']'
> + echo ======================================================================
> + echo AutoMySQLBackup VER 2.5
> + echo http://sourceforge.net/projects/automysqlbackup/
> + echo
> + echo Backup of Database Server - servername
> + echo ======================================================================
> + '[' yes = yes ']'
> ++ date
> + echo Backup Start Time mar. 06 avril 2021 15:01:37 CEST
> + echo ======================================================================
> + '[' 06 = 01 ']'
> + for DB in $DBNAMES
> ++ sed 's/%/ /g'
> ++ echo dbname
> + DB=dbname
> + '[' '!' -e /var/lib/automysqlbackup/daily/dbname ']'
> + '[' '!' -e /var/lib/automysqlbackup/weekly/dbname ']'
> + '[' 2 = 6 ']'
> + echo Daily Backup of Database '(' dbname ')'
> + echo Rotating last weeks Backup...
> + rm -fv 
> /var/lib/automysqlbackup/daily/dbname/dbname_2021-04-06_15h00m.mardi.sql.gz
> + echo
> + dbdump dbname 
> /var/lib/automysqlbackup/daily/dbname/dbname_2021-04-06_15h01m.mardi.sql
> + '[' dbname = information_schema ']'
> + NEWOPT='--opt --quote-names --events --routines --databases '
> + '[' no = yes ']'
> + touch 
> /var/lib/automysqlbackup/daily/dbname/dbname_2021-04-06_15h01m.mardi.sql
> + chmod 600 
> /var/lib/automysqlbackup/daily/dbname/dbname_2021-04-06_15h01m.mardi.sql
> + '[' -z '' -o -z '' ']'
> + mysqldump --defaults-file=/etc/mysql/debian.cnf --opt --quote-names 
> --events --routines --databases dbname
> + compression 
> /var/lib/automysqlbackup/daily/dbname/dbname_2021-04-06_15h01m.mardi.sql
> + '[' gzip = gzip ']'
> + gzip -f 
> /var/lib/automysqlbackup/daily/dbname/dbname_2021-04-06_15h01m.mardi.sql
> + echo
> + echo Backup Information for 
> /var/lib/automysqlbackup/daily/dbname/dbname_2021-04-06_15h01m.mardi.sql
> + gzip -l 
> /var/lib/automysqlbackup/daily/dbname/dbname_2021-04-06_15h01m.mardi.sql.gz
> + SUFFIX=.gz
> + return 0
> + '[' yes = yes ']'
> + cp dbname.gz /var/lib/automysqlbackup/latest/
> cp: impossible d'évaluer 'dbname.gz': Aucun fichier ou dossier de ce type
> + return 0
> + BACKUPFILES=' 
> /var/lib/automysqlbackup/daily/dbname/dbname_2021-04-06_15h01m.mardi.sql.gz'
> + echo ----------------------------------------------------------------------
> ++ date
> + echo Backup End mar. 06 avril 2021 15:01:38 CEST

There is a confusion between the dbname and the filename of the backup just 
done.
If I use this patch (at the end of dbdump () function, $1 changed to $2), it 
seems to goes well:

--- /usr/sbin/automysqlbackup.orig      2020-07-04 20:56:25.000000000 +0200
+++ /usr/sbin/automysqlbackup   2021-04-06 15:08:09.579533446 +0200
@@ -472,7 +472,7 @@
                fi
        fi
        if [ "$LATEST" = "yes" ]; then
-               cp $1$SUFFIX "$BACKUPDIR/latest/"
+               cp $2$SUFFIX "$BACKUPDIR/latest/"
        fi
        return 0
 }

No more non-zero exit code, no more ERRORS REPORTED mail, 
I will confirm that in some days after some cron triggers.

It seems that in debian 10 version $1$SUFFIX was correct as
 the cp line is in compression() function that takes only 1 arg.
Now it is in dbdump() function that takes filename as $2.

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 5.10.0-4-amd64 (SMP w/1 CPU thread)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages automysqlbackup depends on:
ii  mailutils [mailx]                           1:3.10-3+b1
ii  mariadb-client-10.5 [virtual-mysql-client]  1:10.5.9-1

Versions of packages automysqlbackup recommends:
ii  mutt  2.0.5-3

automysqlbackup suggests no packages.

-- Configuration Files:
/etc/default/automysqlbackup changed:
DBHOST=localhost
DBNAMES=`mysql --defaults-file=/etc/mysql/debian.cnf --execute="SHOW DATABASES" 
| awk '{print $1}' | grep -v ^Database$ | grep -v ^mysql$ | grep -v 
^performance_schema$ | grep -v ^information_schema$ | tr \\\r\\\n ,\ `
BACKUPDIR="/var/lib/automysqlbackup"
MAILCONTENT="quiet"
MAXATTSIZE="4000"
MAILADDR="root"
MDBNAMES="mysql $DBNAMES"
DBEXCLUDE=""
CREATE_DATABASE=yes
SEPDIR=yes
DOWEEKLY=6
DOMONTHLY=01
COMP=gzip
COMPDIRECT=no
COMMCOMP=no
LATEST=yes
MAX_ALLOWED_PACKET=
SOCKET=
POSTBACKUP="/etc/automysqlbackup/post.sh"
ROUTINES=yes
OPTIONS=""


-- no debconf information

Reply via email to