Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
611 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [SHELL] Script de backup (cron) : Ameliorations ?

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SHELL] Script de backup (cron) : Ameliorations ?

n°1130369
hunter_see​ker
Posté le 23-04-2009 à 18:39:41  profilanswer
 

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 :
  1. # !/bin/bash
  2. # Script de test pour gerer une tache planifiée de backup
  3. titre="Execution du backup sur $HOSTNAME \n"
  4. horodatage=$(date +"%x %r %Z" )
  5. //### FONCTION ###
  6. function titre {
  7. echo -e $titre
  8. echo $horodatage
  9. }
  10. function backup  {
  11. dateJour=$(date "+%d_%m_%y" ) //#Definition variable de stockage de la date du jour
  12. nomDossier="bck-drupal-"$dateJour //#Definition variable pour creation du nom du dossier
  13. nomFichier="drupal-"$dateJour //#Definition variable pour creation du nom du fichier tar
  14. cd /home/user/backup //#Entree dans le dossier
  15. mkdir $nomDossier //#Creation du dossier
  16. if [ -d $nomDossier ]; then //#Si le dossier a ete correctement cree
  17.         echo "Creation du dossier : "$nomDossier //#On affiche un message
  18.         cd $nomDossier //#On entre dans le dossier cree
  19.         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*/
  20.         if [ -s $nomFichier.tar.bz2 ]; then //#On verifie que le fichier Tar n'est pas vide
  21.            echo "Backup execute avec succes" //#Puis on affiche un message de succes
  22.         fi
  23. else
  24.         echo "######## erreur lors de la creation du backup !!! ########" //# Sinon on affiche un message d'erreur
  25. fi
  26. }
  27. cat << _EOF_
  28. $(titre)
  29. $(backup)
  30. _EOF_


 
 
Puis dans le Crontab du user :

Code :
  1. 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
mood
Publicité
Posté le 23-04-2009 à 18:39:41  profilanswer
 

n°1130737
Taz
bisounours-codeur
Posté le 25-04-2009 à 01:33:32  profilanswer
 

fais du "set -eu" (RTFM)

n°1130757
splurf
Rm -Rf / && oops :o
Posté le 25-04-2009 à 11:07:24  profilanswer
 

récupérer le code de retour de tar et le cas échéant afficher une erreur

n°1131869
sputnick
bip...bip...bip...bip...bi...b
Posté le 29-04-2009 à 20:35:55  profilanswer
 

Ya trop de trucs qui vont pas dans le script, en voici un plus approprié selon moi.
http://sputnick-area.net/ftp/downloads/back-lftp.bash
 
Il gere les dumps mysql + backup des sources d'un site + upload ftp + nettoyage programmé sur le ftp ( par defaut 3 semaines de retention ) + envoi de mail en cas d'erreur + etc...

n°1166648
la buvette
$í j'ø$âí$
Posté le 24-09-2009 à 14:27:04  profilanswer
 

Salut les mecs, et tanpis si je me trompe !
 
Je me sers de http://fr.wikipedia.org/wiki/Crontab comme tutoriel quand j'ai à faire des tâches Cron.
 
Je voudrai avoir une planification bien spécifique pour une tâche, mais je ne sais pas si c'est possible...
 
Pour faire une sauvegarde tous les dimanches à 10h00, on fait:

Citation :

00 10 * * 0 la_tache


Pour faire une sauvegarde tous les 1er du mois à 10h00, on fait:

Citation :

00 10 1 * 0 la_tache


 
Mais pour faire une sauvegarde tous les 1er dimanches du mois à 10h00:

Citation :

00 10 1-7 * 0 /save/savemensu


Cela fonctionnerait ? (j'ai mis 0 à la fin pour dire "dimanche", et "1-7" pour combiner avec la 1er semaine du mois)
 
Merci  :hello:

n°1166653
la buvette
$í j'ø$âí$
Posté le 24-09-2009 à 14:45:07  profilanswer
 

A priori ce serait bon, quelqu'un a fait la même programmation que moi :D
http://forum.ubuntu-fr.org/viewtopic.php?pid=2208022

n°1166716
e_esprit
Posté le 24-09-2009 à 19:35:15  profilanswer
 

la buvette a écrit :


Pour faire une sauvegarde tous les 1er du mois à 10h00, on fait:

Citation :

00 10 1 * 0 la_tache




La c'est faux :o
 
Mais bon :D
 
Sinon privilégie peut-être la notation 'sun' plutot que '0', c'est plus parlant si quelqu'un reprends ton bébé un jour ;)


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [SHELL] Script de backup (cron) : Ameliorations ?

 

Sujets relatifs
exécuter script shell via interface web (sécurisé si possible)mélanger shell et awk
MGE O.P.S. Evolution 1150 rack et script pour arrêt machinescript de ocnifugration dhcpd
Disque dur de backup : gagner de la place en partitionnant ?Script pour afficher info PC ubuntu
Petit script bash [resolu]FireFox et OsX / Backup
[Bash] Script de création de clés SSH automatique 
Plus de sujets relatifs à : [SHELL] Script de backup (cron) : Ameliorations ?


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR