Forum Programmation.shell Sauvegarde bien déroulé ou pas ??

Posté par  .
Étiquettes : aucune
0
26
mai
2006
Bonjour,

ptite question car suis parti ce soir sans savoir si ma sauvegarde etait correcte ou pas.
Si le code retour de la commande suivante est 0 (zéro) est ce que ma sauvegarde s'est bien déroulée ou pas ??(lp -d printer envoie la sortie du tar vers une imprimante)
Commande : tar -cvf sauvegarde.tar /dev/rmt/0 | lp -d my-printer
retour=$?

Merci pour vos reponses.
  • # c'est bon

    Posté par  (site web personnel) . Évalué à 2.

    quand un programme retourne zero, c'est que tout s'est bien déroulé. Normalement tous les programmes fonctionnent de la sorte.
  • # pas bon

    Posté par  . Évalué à 2.


    ls toto;echo $?
    ls: toto: Aucun fichier ou répertoire de ce type
    2

    ls toto | cat;echo $?
    ls: toto: Aucun fichier ou répertoire de ce type
    0


    Lorsqu'il y a un pipe, $? donne le code de retour de la dernière commande. Donc dans ton cas, tu sais seulement que le code retour de "lp" est 0.
    • [^] # Re: pas bon

      Posté par  . Évalué à 2.

      Donc je peux considérer que ma sauvegarde s'est bien déroulée ?
      • [^] # Re: pas bon

        Posté par  . Évalué à 2.

        Donc tu peux considérer que l'envoie vers l'imprimante s'est bien déroulé...

        Pour ce qui est du tar tu n'en sais rien puisque tu n'as pas son code de retour.
    • [^] # Re: pas bon

      Posté par  . Évalué à 1.

      un meilleur exemple pour comprendre serait:


      # true | echo tada; echo $?
      tada
      0
      # false | echo tada; echo $?
      tada
      0


      Toutefois, tu peux utilise la commande wait associé au pid de la commande de sauvegarde et une fifo pour récupérer la sortie:

      test.sh

      #!/bin/sh

      rm -f fifolfr
      mkfifo fifolfr

      wget $1 --limit-rate=10k -O - > fifolfr & lspid=$!

      cat fifolfr

      if wait $lspid; then
      echo OK
      else
      echo NOK
      fi

      rm -f fifolfr



      Ce qui donne:

      #test.sh http://linuxfr.org
      [...]
      100%[====================================>] 70 044 10.01K/s ETA 00:00

      07:49:57 (10.00 KB/s) - « - » sauvegardé [70044/70044]

      OK
      #test.sh http://linuxfr.org/dsflkjdsf
      --07:51:17-- http://linuxfr.org/dsflkjdsf
      => `-'
      Résolution de linuxfr.org... 212.27.33.225
      Connexion vers linuxfr.org|212.27.33.225|:80...connecté.
      requête HTTP transmise, en attente de la réponse...404 Not Found
      07:51:18 ERREUR 404: Not Found.

      NOK

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.