"Checking TOC" sometimes splurs out long diff lists to cron report
Brought to you by:
gundolfk
Sometimes, perhaps especially when a new empty backup media is inserted, backup2l v1.5 includes very long diff lists to the cron job report.
I guess that's a bug since they aren't really useful in the report (a simple so-and-so many files would suffice) and today I actually got a "message too long" error from the email system.
Here's an example:
Removing old backups... Preparing full backup <domo-a.1>... 173303 / 173303 file(s), 15558 / 15558 dir(s), 10.8GB / 10.8GB (uncompressed) skipping: 0 file(s), 0 dir(s), 0 B (uncompressed) Creating archive using 'DRIVER_MY_DAR'... Checking TOC of archive file (< real file, > archive entry)... 1,173303c1,27 < /mnt/backup/backup-in/domo-a/.bash_history < /mnt/backup/backup-in/domo-a/.joe_state < /mnt/backup/backup-in/domo-a/.subversion/README.txt < /mnt/backup/backup-in/domo-a/.subversion/config < /mnt/backup/backup-in/domo-a/.subversion/servers < /mnt/backup/backup-in/domo-a/bin/afio < /mnt/backup/backup-in/domo-a/bin/bash (etc, for thounds of lines..) </domo-a.1>
(Yes, /mnt/backup/backup-in is intentional -- output goes to /mnt/backup/backup-out.)
Here's my DAR driver, in case that's a possible reason:
:::bash
# Driver for 'dar'. Compressed files, random access, support for owerns, permissions, symlinks.
DRIVER_MY_DAR ()
{
DARBASE=$(echo "$3" | sed 's/[.]1[.]dar$//')
case $1 in
-test)
require_tools dar
echo "ok"
;;
-suffix)
echo "1.dar"
;;
-create) # Arguments: $2 = BID, $3 = archive file name, $4 = file list file
dar -Q -q --no-warn -z6 -Z "*.jpg" -Z "*.zip" -Z "*.png" -Z "*.gz" -Z "*.tgz" -Z "*.bz2" -Z "*.7z" -Z "*.rar" --fs-root / --include-from-file "$
;;
-toc) # Arguments: $2 = BID, $3 = archive file name
# Filter out list header, plain directories and file attributes
dar -Q -l "$DARBASE" 2>&1 | tail -n +3 | grep -v "\[[^]]*\][ \t]*\[[^]]*\][ \t]*d" | sed "s/.*\t//;s#^#/#" | sort
;;
-extract) # Arguments: $2 = BID, $3 = archive file name, $4 = file list file
cat "$4"
dar -Q -q --include-from-file "$4" -x "$DARBASE" 2>&1
;;
esac
}
Ah, most of the extra lines seems to have caused by -q in "-toc", which is not shown in here -- I was running a different version of the driver than the one I quoted here.
However, somewhat shorter file lists have also sometimes appeared before I switched from afio to dar. What is the diff supposed to do at "Checking TOC of archive file"? Is it basically a list of files that apparently didn't make it to the backup file, indicating some problems in the system or the driver?
If so, perhaps a 'head -n 48' and a note of the complete list's location would be a good idea for long lists to avoid oversized cron reports..?