Différences entre les versions de « DAR »

De Marmits Wiki
(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]]

Version actuelle datée du 27 août 2019 à 16: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