Forum Programmation.shell Recuperation Sortie Erreur

Posté par  .
Étiquettes : aucune
0
14
mai
2007
Bonjour
Voila je débute en Script Bash et en Géneral sur Linux. Je suis chargé de faire un petit script de sauvegarde de Base de donné avec tranfert des Dumps via FTP apres zipage.
Bon jusqu'a là pas de probleme tout se passe trés bien et le script fonctionne comme un horloge suisse.
Mais étant un tout petit peu paranno j'aimerais avoir une sécurité en cas de fouarage de mes dumps ou de mon transfert FTP.

Donc mon problème est ma foi fort simple c'est recuperer le signal d'erreur emis pas la commande et l'affecter à un variabe
Pour pouvoir faire en fin de script une raffalle de Mail au Root :)

J'ai cherché un peu partout et j'ai pas trouvé de réponses concluante hors mis
commande1 || commande2
commande1 2> fichier
Var=`commande1`

Si quelqu'un peut me dire si oui ou non je poursuit une chimère ou alors c'est possible mais y du boulot .
Merci par avance
*mode KaskOn*
  • # 2> et ces amis...

    Posté par  . Évalué à 1.

    commande1 || commande2
    ca veut dire que si commande1 echoue, tu fais commande2

    Var=`commande1`
    ca range le resultat de commande dans Var

    enfin
    commande1 2>fichier semblerait etre la solution

    mais d'apres :
    http://tldp.org/LDP/abs/html/io-redirection.html

    il y aurait mieux
    commande1 &>filename

    qui renvoie tous les resulats (positif ou pas) de commande1 vers filename
    • [^] # Re: 2> et ces amis...

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

      Et pour les valeur de retour, tu peux aussi tester la valeur de $? juste après l'exécution de ta commande pour avoir la valeur de retour.

      Atention, la valeur de retour n'est qu'un code numérique contrairement au texte écrit par la commande (que tu récupère dans > file ou dans var=``). Ce code est en général différent de 0 dès qu'une erreur s'est produite.
      • [^] # Re: 2> et ces amis...

        Posté par  . Évalué à 1.

        je pense que le probleme est de detourné le STDERR du ping (host unreachable, delai d'attente depassé)

        pour ne l'afficher qu'au premier passage...

        mais sinon il me semble qu'il y a une question similaire dans un post d'aujourd'hui.
  • # Merci Merci

    Posté par  . Évalué à 1.

    Bon j'ai finalement trouve grace a vos indications et une petite prise de mou

    Finalement j'ai fait ca

    commande1 2>&1 >&Fichier || cat fichier | mail

    ce qui m'envoit un mail en cas de retour d'erreur sur la commande1

    Bon maintenant je vais complique tout ca histoire de me simplifier la vie T_T

    Encore Merci pour les conseil et les liens

Suivre le flux des commentaires

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