« 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]] | ||