Script de sauvegarde automatique
CrazyCat » 21/ 03/2010 17:57
Shell
|
Envoyer à un ami |
Fil des commentaires de ce billet
Ce petit script permet de générer des archives horodatées de répertoires sur une machine unix. Il suffit que tar et gunzip soient installés et de configurer les 4 variables, puis d'ajouter une entrée pour ce script dans crontab.
Dans cet exemple, le but est de sauvegarder le répertoire /home/g33kzone/public_html/ (le site) et /var/lib/mysql/g33kzone/ (la base MySQL du site) dans le répertoire /home/backups/. Les fichiers de sauvegarde seront nommés archive_YYYYMMDD.tgz, c'est à dire archive_20100321.tgz pour l'archive du 21 mars 2010.
L'option "VERBOSE" permet d'avoir un affichage des fichiers archivés, elle est à utiliser pour le debug ou si vous voulez enregistrer l'activité d'archivage dans un fichier de log.
#!/bin/bash ############################################### # Configuration ############################################### # Destination BACKUP_DIR="/home/backups/" # Directories to save FILESYSTEMS="/home/g33kzone/public_html /var/lib/mysql/g33kzone/" # basename of the archive file BASE_NAME="archive_" # Would you like to get detailed information from tar and gzip? 0=false, # 1=true VERBOSE=0 # DO NOT EDIT BELOW THIS LINE #-------------------------------------------------------- ############################################### # Application Variables - DO NOT EDIT # ############################################### # Day of the week; NOW=`date +"%Y%m%d"` # Script name SCRIPTNAME="Backup Script" # Version VERSION=0.01 ######## Do some error checking ######### # Does backup dir exist? if [ ! -d $BACKUP_DIR ] then echo "The specified backup directory $BACKUP_DIR does not exist. Operation canceled." exit 1 fi ######## Run Backup ######### LEVEL=0 if [ $VERBOSE -eq 1 ] then tar cvfz $BACKUP_DIR/$BASE_NAME.$NOW."tgz" $FILESYSTEMS else tar cfz $BACKUP_DIR/$BASE_NAME.$NOW."tgz" $FILESYSTEMS fi exit 0