Ameliorate report when creating or deleting incrementals.

This commit is contained in:
Benoît S. 2014-01-30 16:39:34 +01:00
parent e62bf87b53
commit 10a676fe6c
2 changed files with 29 additions and 14 deletions

View file

@ -3,15 +3,25 @@
. /etc/evobackup/conf.d/incrementals.cf
start=$(date --rfc-3339=seconds)
tmplog=$(mktemp --tmpdir=/tmp evobackup.tmplog.XXX)
# Don't return *, if bash glob don't find files/dir.
shopt -s nullglob
# Search for incrementals to do.
for client in ${CONFDIR}/*; do
start=$(date --rfc-3339=seconds)
backupname=${client#/etc/evobackup/conf.d/incs/}
# hard copy everyday
echo -n "Hard copy of backup $backupname started at $start. " \
>> $LOGFILE
echo "Incrementals of $backupname started at $start. " \
>> $tmplog
[[ ! -d ${INCDIR}/${backupname} ]] && mkdir -p ${INCDIR}/${backupname}
# Do the incrementals.
cp -alx ${JAILDIR}/${backupname} ${INCDIR}/${backupname}/${DATEDIR}
stop=$(date --rfc-3339=seconds)
echo -n "Hard copy of $backupname ended at $stop." >> $LOGFILE
done | tee -a $LOGFILE | mailx -s "[info] EvoBackup report of creating incrementals" $MAIL_TO
echo "Incrementals of $backupname ended at $stop." >> $tmplog
done
# Save tmplog to global log.
cat $tmplog >> $LOGFILE
# Send mail report.
< $tmplog mailx -s "[info] EvoBackup report of creating incrementals" $MAIL_TO
# Cleaning.
rm $tmplog

View file

@ -4,11 +4,12 @@
. /etc/evobackup/conf.d/incrementals.cf
tmpdir=$(mktemp --tmpdir=/tmp -d evobackup.XXX)
emptydir=$(mktemp --tmpdir=/tmp -d evobackup.XXX)
tmpdir=$(mktemp --tmpdir=/tmp -d evobackup.tmpdir.XXX)
emptydir=$(mktemp --tmpdir=/tmp -d evobackup.empty.XXX)
tmplog=$(mktemp --tmpdir=/tmp evobackup.tmplog.XXX)
# Don't return *, if bash glob don't find files/dir.
shopt -s nullglob
# For each client, delete needed incrementals.
for client in ${CONFDIR}/*; do
# Get only the name of the backup.
@ -26,15 +27,19 @@ for client in ${CONFDIR}/*; do
# Delete obsolete incrementals backup
for inc in $(grep -v -f ${tmpdir}/${backupname}.keep ${tmpdir}/${backupname}.files); do
start=$(date --rfc-3339=seconds)
echo -n "Delete of ${backupname}/${inc#${INCDIR}/${backupname}/} started at ${start}." >> $LOGFILE
echo "Deletion of ${backupname}/${inc#${INCDIR}/${backupname}/} started at ${start}." >> $tmplog
# We use rsync to delete since it is faster than rm!
rsync -a --delete ${emptydir}/ $inc
rm -r $inc
rm -r $emptydir
stop=$(date --rfc-3339=seconds)
echo -n "Delete of ${backupname}/${inc#${INCDIR}/${backupname}/} ended at ${stop}." >> $LOGFILE
echo "Deletion of ${backupname}/${inc#${INCDIR}/${backupname}/} ended at ${stop}." >> $tmplog
done
done | tee -a $LOGFILE | mail -s "[info] EvoBackup - purge incs" $MAIL_TO
done
# Save tmplog to global log.
cat $tmplog >> $LOGFILE
# Send mail report.
< $tmplog mailx -s mail -s "[info] EvoBackup - deletion of obsolete incrementals" $MAIL_TO
# Cleaning
rm -rf $tmpdir
rm -rf $tmpdir
rm $tmplog