Hello à tous,
Après pas mal de lecture sur le sujet des script SHELL et des Crontab, j'ai réussi a écrire mon premier script SHELL pour faire un backup régulier d'un dossier situé mon serveur local.
J'aurai souhaité savoir si des améliorations ou modifications étaient nécessaires, vu que c'est mon premier script, je pense qu'on peut faire mieux ...
Code :
- # !/bin/bash
- # Script de test pour gerer une tache planifiée de backup
- titre="Execution du backup sur $HOSTNAME \n"
- horodatage=$(date +"%x %r %Z" )
- //### FONCTION ###
- function titre {
- echo -e $titre
- echo $horodatage
- }
- function backup {
- dateJour=$(date "+%d_%m_%y" ) //#Definition variable de stockage de la date du jour
- nomDossier="bck-drupal-"$dateJour //#Definition variable pour creation du nom du dossier
- nomFichier="drupal-"$dateJour //#Definition variable pour creation du nom du fichier tar
- cd /home/user/backup //#Entree dans le dossier
- mkdir $nomDossier //#Creation du dossier
- if [ -d $nomDossier ]; then //#Si le dossier a ete correctement cree
- echo "Creation du dossier : "$nomDossier //#On affiche un message
- cd $nomDossier //#On entre dans le dossier cree
- tar cjf $nomFichier.tar.bz2 /var/www/html/drupal/* //#On compresse le dossier cible en Tar et on le place dans le dossier en cours*/
- if [ -s $nomFichier.tar.bz2 ]; then //#On verifie que le fichier Tar n'est pas vide
- echo "Backup execute avec succes" //#Puis on affiche un message de succes
- fi
- else
- echo "######## erreur lors de la creation du backup !!! ########" //# Sinon on affiche un message d'erreur
- fi
- }
- cat << _EOF_
- $(titre)
- $(backup)
- _EOF_
|
Puis dans le Crontab du user :
Code :
- 0 * * * * bin/job_backup_test >/home/user/backup/log-backup.txt 2>&1
|
Merci à vous pour les conseils
Note j 'ai rajouté des antislash pour que les commentaires soient correctement prit en compte dans la balise code
Message édité par hunter_seeker le 23-04-2009 à 18:46:13