« DAR » : différence entre les versions
Page créée avec « == source == * http://www.partage-it.com/sauvegarde-differentielle-avec-dar/ == répertoire == <pre> mkdir -p /var/partage/admin_scripts/backup_scripts mkdir -p /var/part... » |
|||
(5 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 6 : | Ligne 6 : | ||
mkdir -p /var/partage/admin_scripts/backup_scripts | mkdir -p /var/partage/admin_scripts/backup_scripts | ||
mkdir -p /var/partage/backups | mkdir -p /var/partage/backups | ||
</pre> | |||
[[category:Sauvegarde]] [[category:Sauvegarde Differencielle]] [[category:Linux]] | |||
== principe == | |||
au depart pour une référence. (selon la configuration du fichier common.dcf) <br> | |||
/var/partage/admin_scripts/backup_scripts/backup_initial.sh | |||
<pre> | |||
#!/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 | |||
</pre> | |||
puis en cron 1 fois par jour<br> | |||
/var/partage/admin_scripts/backup_scripts/backup_diff.sh | |||
<pre> | |||
#!/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 | |||
</pre> | |||
== Restauration == | |||
<pre> | |||
rm -rf /var/partage/tmp/restored/* pour vider le repertoire de restauration | |||
rm -rf /var/partage/backups/* // ATTENTION pour recommencer à zéro | |||
</pre> | |||
Restaurer seulement les fichiers modifiés à une certaines date | |||
<pre> | |||
sudo sh /var/partage/admin_scripts/backup_scripts/restore_full.sh 2019-08-27 /var/partage/tmp/restored/ | |||
</pre> | |||
Restaurer un ou plusieurs fichiers | |||
<pre> | |||
dar -R /var/partage/tmp/ -x /var/partage/backups/2019-05-25_diff -g test.txt | |||
</pre> | </pre> | ||
[[category:Sauvegarde]] [[category:Sauvegarde Differencielle]] [[category:Linux]] | [[category:Sauvegarde]] [[category:Sauvegarde Differencielle]] [[category:Linux]] |
Dernière version du 27 août 2019 à 14:37
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/
Restaurer un ou plusieurs fichiers
dar -R /var/partage/tmp/ -x /var/partage/backups/2019-05-25_diff -g test.txt