DAR
source
répertoire
mkdir -p /var/partage/admin_scripts/backup_scripts mkdir -p /var/partage/backups
principe
au depart pour une référence. (selon la configuration du fichier common.dcf)
/var/partage/admin_scripts/backup_scripts/backup_initial.sh
#!/bin/sh
DIR=/var/partage/backups
ADMINSCRIPTSDIR=`dirname $0`
FILE=${DIR}/`/bin/date -I`_data
FILEORIGINE=$DIR/*_data.*.dar
date
if [ ! -f $FILEORIGINE ]; then
if [ $? -ne 0 ]; then
echo "Backup full: can not create month backup dir ($DIR)"
exit 2
else
# Sauvegarde les dossiers et les fichiers decrits dans le fichier de configuration
/usr/bin/dar -B ${ADMINSCRIPTSDIR}/common.dcf -c $FILE > /dev/null
# Teste la sauvegarde
/usr/bin/dar -t $FILE > /dev/null
if [ $? -ne 0 ]; then
echo "Backup full: Archive created but test FAILED"
exit 3
fi
date
echo "dar finished"
exit 0
fi
fi
puis en cron 1 fois par jour
/var/partage/admin_scripts/backup_scripts/backup_diff.sh
#!/bin/bash
EMAILTO="g.stolaric@gwinfo.fr"
DIR=/var/partage/backups
ADMINSCRIPTSDIR=`dirname $0`
MONTHDIR=${DIR}
FILE=${DIR}/`/bin/date -I`_diff
PREV=`/bin/ls -tr1 $DIR/*.dar | tail -n 1`
MESSAGE=""
MESSAGE=${MESSAGE}`date`
MESSAGE=${MESSAGE}"\n"
MESSAGE=${MESSAGE}$FILE"\n"
#date
# Sauvegarde les dossiers et les fichiers decrits dans le fichier de configuration
/usr/bin/dar -B ${ADMINSCRIPTSDIR}/common.dcf -c $FILE -A ${PREV%%.*} > /dev/null
# Teste la sauvegarde
/usr/bin/dar -t $FILE > /dev/null
if [ $? -ne 0 ]; then
MESSAGE=${MESSAGE}"Backup diff: Archive created but test FAILED"
MESSAGE=${MESSAGE}"\n"
exit 3
fi
MESSAGE=${MESSAGE}`date`
MESSAGE=${MESSAGE}"\n"
MESSAGE=${MESSAGE}"dar finished"
echo -e $MESSAGE | mail -s "message backup différencielle" $EMAILTO
exit 0
Restauration
rm -rf /var/partage/tmp/restored/* pour vider le repertoire de restauration rm -rf /var/partage/backups/* // ATTENTION pour recommencer à zéro
restaurer seulement les fichiers modifiés à une certaines date
sudo sh /var/partage/admin_scripts/backup_scripts/restore_full.sh 2019-08-27 /var/partage/tmp/restored/
restore un ou plusieurs fichiers
dar -R /var/partage/tmp/ -x /var/partage/backups/2019-05-25_diff -g test.txt