Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes POSIX Discussion :

Envoi mail en shell linux


Sujet :

Shell et commandes POSIX

  1. #1
    Membre à l'essai
    Envoi mail en shell linux
    Bonjour,

    Je cherche à pouvoir envoyer un mail si il y a des enregistrements dans la table, sinon ne rien envoyer si la table est vide.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #!/bin/bash
    result="mysql -uroot -ppassword -D site -e "SELECT * FROM mytable""
    if [ "$result" -ne 0 ]; then
    echo "$result" | mail -a From:myemail@ms.fr  -s "test" myemail@ms.com
    exit 1;
    fi


    Vous remerciant par avance pour vos idées.

    Cordialement

  2. #2
    Modérateur

    Qu'est-ce qui ne fonctionne pas ?
    Qu'obtiens tu comme affichage quand tu exécutes ce code ?

    (Aurais-tu confondu " et ` ?)
    Cette signature n'a pas pu être affichée car elle comporte des erreurs.

  3. #3
    Membre à l'essai
    j ai un message [illegal number]

  4. #4
    Membre averti
    Bonsoir,

    De mémoire, je n'ai pas de linux sous le coude, mais -a c'est pour une pièce jointe non ?

  5. #5
    Membre à l'essai
    J'ai essayé d'enlever -a mais même message, à savoir "illegal number"

  6. #6
    Modérateur

    Mais quelle est la commande qui affiche ce message ?
    Cette signature n'a pas pu être affichée car elle comporte des erreurs.

  7. #7
    Membre à l'essai
    J'ai pu résoudre le problème.
    Merci à vous pour la contribution.
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/bin/bash
    myvariable=$(echo "SELECT * FROM mytable" | mysql mybase -uroot -ppassword)
    result="$myvariable"
    if [ -z "$result" ]
    then
    echo "\$result is empty"
    else
    echo "$result" | awk 'BEGIN{printf("%-15s\n","")}NR>2{printf("%15d\n",$2)}' |pr -h "Bonjour, Nous vous informons .." | mail -a  From:myemail@ms.com  -s "Test" <a href="mailto:myemail@ms.com">myemail@ms.com</a>
    fi

  8. #8
    Expert éminent sénior
    Bonjour

    Je doute. N'as-tu pas les entêtes de colonnes, même si les colonnes sont vides ?
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  9. #9
    Membre à l'essai
    Citation Envoyé par Flodelarab Voir le message
    Bonjour

    Je doute. N'as-tu pas les entêtes de colonnes, même si les colonnes sont vides ?
    Bonjour

    Bien vu. Si la requête est vide pas d'envoi, ça fonctionne. Néanmoins, si la requête est remplie, il envoie les données mais le AWK n'est pas complet. Il faut l'améliorer de façon à afficher uniquement les champs demandés.

###raw>template_hook.ano_emploi###