2017-01-02 1 views
-1

Je travaille à l'écriture d'un script à exécuter sur notre serveur Debian (Debian 3.2.68-1+deb7u5 x86_64 GNU/Linux), qui surveillera un port spécifique que nous avons et lorsqu'il n'y a pas de processus s'exécutant sur ce port, ou ce port est disponible, alors je vais devoir envoyer un email. J'ai l'intention de lancer le script toutes les 15 minutes et ensuite envoyer un e-mail.Bash: Configuration du fournisseur de messagerie pour bash-script

Nous avons un serveur de messagerie et je veux ajouter sa configuration dans le script, mais je ne sais pas comment je peux le faire.

Quand en Java, j'utilise la configuration de cette manière:

Properties props = new Properties(); 
props.put("mail.smtp.starttls.enable", "true"); 
props.put("mail.smtp.auth", "true"); 
props.put("mail.smtp.host", "EMAIL-HOST-NAME"); 
props.put("mail.smtp.starttls.enable", "true"); 
props.put("mail.smtp.port", "PORT-PROVIDED"); 

Actuellement, j'ai le script comme suit, sont également les bienvenus suggestions à script. Je vous remercie.

#!/bin/bash 

server=0.0.0.0 // localhost 
port=PORT-NUMBER 

    if nc $server $port &> /dev/null; then 
     // do nothing 
    else 
     // send email 
    fi 

Merci.

+0

Vous voulez stocker la sortie de 'PORT-number' dans' port' ?, si oui, il devrait être 'port = $ {PORT-NUMBER}' – Inian

+0

@ Inian: Je vais ajouter ce changement, une valeur codée en dur comme 1234 ne fonctionnerait-elle pas directement? –

+0

Quelque chose comme 'port = 1234' devrait fonctionner aussi! – Inian

Répondre

2

Les deux mailx et sendmail peuvent envoyer des courriers électroniques complets à partir de CLI; la plupart des systèmes sont préinstallés.

Exemple avec 'mailx':

echo "This is the message body and contains the message" | mailx -v \ 
-r "[email protected]" \ 
-s "This is the subject" \ 
-S smtp="mail.example.com:587" \ 
-S smtp-use-starttls \ 
-S smtp-auth=login \ 
-S smtp-auth-user="[email protected]" \ 
-S smtp-auth-password="abc123" \ 
-S ssl-verify=ignore \ 
[email protected] 
+0

Cela a fonctionné. Merci beaucoup. :-) –