Modification de script backup

Modification de script backup - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 04-05-2008 à 09:29:43    

Salut a tous
 
J'ai trouvé un script de backup que je veux modifier pour moi:
 
Le voilà:

Code :
  1. #!/bin/bash
  2. #***********************************************************************#
  3. #             BACKUP SUR FTP OVH  par daniel Polli aka Dansteph         #
  4. #             ------------------                                        #
  5. # Ce script a lancer en cron tout les deux ou trois jours backup les    #
  6. # repertoire "/home" "/usr/local/apache/conf/" et "/var/named"          #
  7. # et les envois sur votre espace backup FTP. Editez les paramètres      #
  8. # ci-dessous.                                                           #
  9. #                                                                       #
  10. #***********************************************************************#
  11. #########################################################################
  12. # PARAMETRES A EDITER
  13. #########################################################################
  14. SERVER="XXX.XXX.XXX.X"       #Serveur backup d'OVH
  15. USER="XXX"               #Votre nom d'utilisateur
  16. PASS="XXX"        #Votre password
  17. EMAIL="XXX@XXX.com"          #Pour envoi mail si backup echoue
  18. MAILSIOK="O"        #Mettre "O" si on veut un mail aussi si backup ok
  19. SAVEDIR="/home"    #Backup de /home SANS slash a la fin
  20. SAVEDIR1="/usr/local/apache/conf" #Backup optionnel SANS slash a la fin
  21. SAVEDIR2="/var/named"          #Backup optionnel SANS slash a la fin
  22. #########################################################################
  23. #autres parametre a éditer seulement par confirmé------------------------
  24. FILENAME=`date +"%d"`_backupsite.tar      #nom du fichier "[jour]_backupsite.tar.gz" (.gz est ajouté après)
  25. TEMPDIR="/home/backupsite/"                         #repertoire temporaire de home pour creation tar
  26. EXCLUDEFILE="/home/backupsite/backup_exclude.txt"   #ce fichier doit contenir les rep a exclure du backup
  27. #fin parametres, rien pour vous plus bas---------------------------------
  28. STARTTIME=`date +%s`
  29. #pour traduire les codes d'erreur de ncftpput en texte
  30. declare -a CDERR
  31. CDERR[1]="Could not connect to remote host."
  32. CDERR[2]="Could not connect to remote host - timed out."
  33. CDERR[3]="Transfer failed."
  34. CDERR[4]="Transfer failed - timed out."
  35. CDERR[5]="Directory change failed."
  36. CDERR[6]="Directory change failed - timed out."
  37. CDERR[7]="Malformed URL."
  38. CDERR[8]="Usage error."
  39. CDERR[9]="Error in login configuration file."
  40. CDERR[10]="Library initialization failed."
  41. CDERR[11]="Session initialization failed."
  42. CDERR[142]="Delai depassé pour la connexion."
  43. #envoi des infos sur le log authpriv (le log "secure" sur OVH)
  44. DATE=`date +%H:%M:%S`
  45. logger -p authpriv.info "[$0] -->Debut de backup de $SAVEDIR a $DATE"
  46. echo "[$0] -->Debut de backup de $SAVEDIR a $DATE"
  47. #compression dun ou plusieurs repertoires choisi en parametre
  48. tar cfzX $TEMPDIR$FILENAME.gz $EXCLUDEFILE $SAVEDIR $SAVEDIR1 $SAVEDIR2
  49. RESULT=$?
  50. if [ "$RESULT" != "0" ]; then
  51.         DATE=`date +%H:%M:%S`
  52.         logger -p authpriv.info "[$0] -->ERREUR TAR à $DATE Backup NON effectué."
  53.         echo "[$0] -->ERREUR TAR à $DATE Backup NON effectué."
  54. echo "Erreur TAR le backup FTP sur OVH non effectue" | mail -s 'ERREUR BACKUP FTP OVH' $EMAIL
  55. exit $RESULT
  56. fi
  57. ncftpput -m -u $USER -p $PASS $SERVER "/" $TEMPDIR$FILENAME.gz
  58. RESULT=$?
  59. FILESIZE=`ls -l $TEMPDIR$FILENAME.gz | awk '{print $5}'`
  60. FILESIZE=$(($FILESIZE/1000000))
  61. rm -f $TEMPDIR$FILENAME.gz
  62. if [ "$RESULT" != "0" ]; then
  63. DATE=`date +%H:%M:%S`
  64. logger -p authpriv.info "[$0] -->ERREUR: ${CDERR[$RESULT]} à $DATE Backup NON effectué."
  65. echo "[$0] -->ERREUR: ${CDERR[$RESULT]} à $DATE Backup NON effectué."
  66. echo "[$0] -->ERREUR: ${CDERR[$RESULT]} à $DATE Backup NON effectué." | mail -s 'ERREUR BACKUP FTP OVH' $EMAIL
  67. else
  68. TOTALTIME=$(((`date +%s`-$STARTTIME)/60))
  69. DATE=`date +%H:%M:%S`
  70. logger -p authpriv.info "[$0] -->Fin de backup normal de $SAVEDIR a $DATE. Durée: $TOTALTIME mn. Taille: $FILESIZE Mb"
  71. echo "[$0] -->Fin de backup normal de $SAVEDIR a $DATE.  Durée: $TOTALTIME mn. Taille: $FILESIZE Mb"
  72. if [ "$MAILSIOK" = "O" ]; then
  73.  echo -e "Backup effectué à $DATE Status: OK\nDurée du backup: $TOTALTIME minutes\nFichier: $FILENAME.gz transféré avec une taille de $FILESIZE Mb" | mail -s 'BACKUP FTP OVH OK' $EMAIL
  74.         fi
  75. fi
  76. exit $RESULT


 
ça je peut le virer?

Code :
  1. #envoi des infos sur le log authpriv (le log "secure" sur OVH)
  2. DATE=`date +%H:%M:%S`
  3. logger -p authpriv.info "[$0] -->Debut de backup de $SAVEDIR a $DATE"
  4. echo "[$0] -->Debut de backup de $SAVEDIR a $DATE"


 
et je voulais savoir comment il fait pour récupérer RESULT=$? ? Merci de votre aide.

Reply

Marsh Posté le 04-05-2008 à 09:29:43   

Reply

Marsh Posté le 04-05-2008 à 18:18:38    

$? c'est le code de sortie de la commande précédente, i.e. le tar


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 04-05-2008 à 21:42:25    

Mjules a écrit :

$? c'est le code de sortie de la commande précédente, i.e. le tar


Pour tous les programmes c'est même chose? sa renvoie 1 ou 0?

Reply

Marsh Posté le 04-05-2008 à 22:31:56    

0 quand la commande se termine normalement
n>0 dans les autres cas.


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 04-05-2008 à 22:42:33    

et si je peux me permettre une précision, le code de retour permet parfois de connaitre le type d'erreur.
Un bon exemple est la fin de 'man curl' ou ils decrivent le sens de chaque code.
Comme ca, tu peux adapter le traitement au type d'erreur


Message édité par trictrac le 04-05-2008 à 22:42:58
Reply

Marsh Posté le 05-05-2008 à 08:53:09    

Mjules a écrit :

0 quand la commande se termine normalement
n>0 dans les autres cas.

 

Pas nécessairement, même si ce sont ces valeurs par convention...
ce serait plus n != 0 d'ailleurs (je connais pas mal de monde qui mets des return(-1) en erreur)


Message édité par black_lord le 05-05-2008 à 08:53:55

---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed