Ce script permet de sauvegarder un (ou plusieurs) répertoire(s) de façon incrémentale: seules les différences par rapport à l'ancienne sauvegarde sont sauvegardées. Cela permet ainsi de pouvoir revenir à n'importe quelle “version” précédente de ce répertoire sans problème. La sauvegarde est compressée. Si une sauvegarde n'a pas fonctionné, l'ancienne sauvegarde est réutilisée.
Les informations nécessaires pour pouvoir effectuer cette sauvegarde sont passées dans un fichier de configuration. Ce fichier doit contenir la définition des variables suivantes:
SVG_ARCH
qui est le fichier qui va contenir la sauvegarde. Cette variable peut contenir des “caractères variables”:%n
sera remplacé par le nom du dernier répertoire à sauvegarder (Si l'on sauvegarde /bli/coin/
, %n
vaudra coin
)%N
sera remplacé par le chemin complet du répertoire à sauvegarder (les /
seront remplacés par des -
).%h
sera remplacé par le nom de machineSVG_REPS
est un tableau listant les répertoires à sauvegarder de la forme ( ”/rep/numero1” ”/folder/two” )
Les variables suivantes peuvent être également définies, mais ca n'est pas nécessaire:
SVG_TMP
: répertoire temporaire où est stockée l'archive décompressée (/tmp
par défaut)SVG_AGEMAX
: âge après lequel le versionnage est supprimée (par défaut 1 semaine)SVG_COMPRESSION
: type de compression (gz
pour une compression type gunzip, et bz2
pour une compression bunzip2)Ainsi, voilà un exemple d'utilisation:
/usr/local/bin/sauvegarde.sh /etc/svg_local_quotidien.conf
avec ce fichier de configuration:
## Nécessaires #%n %N ou %h SVG_ARCH="/media/archives/rdiff.%h-%n.tar.gz" SVG_REPS=( "/etc" "/home" ) ## Options # ** mal supporté SVG_EXCLUDE=( "/home/ftp" "/home/best/.mldonkey" "/media/archives" ) # 1M par défaut # smhDWM ou YYYY/MM/DD YYYY-MM-DD MM/DD/YYYY ou 3B SVG_AGEMAX="5D" # Répertoire temporaire utilisé SVG_TMP="/tmp" SVG_COMPRESSION="gzip" #SVG_DEBUG="true"
Avec ce fichier de configuration, on sauvegarde /etc
et /home
en excluant certains répertoires. On supprime les versions datant de plus de 5 jours (référence à 5D
). Enfin, on utilise une compression de type gz
.
Unable to display file "be.st.free.fr/fichiers/scripts/sauvegarde.sh": It may not exist, or permission may be denied.