Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/11/2018, à 20:24

charlimy

Problème avec SSMTP ou du Script ?????

Bonjour à tous, smile

Suite à la création d'un script qui surveille le taux d'occupation de la partition /home
J'ai souhaité être averti par mail .
Au moment de lancer le script , le message suivant apparaît :

mail: impossible d'expédier le message : Processus terminé avec un état de sortie non nul roll

Est ce que le problème vient du script ou de la configuration de SSMTP ? Pourriez vous m'éclairer ?

Un grand merci smile

Script d'alerte
----------------

#!/bin/bash

alerte=80
Liste="/dev/sda7"
mail=********@outlook.fr
for disque in $Liste; do
espace=$(df -h | grep $disque | awk {'print $5'} | sed 's/\%//g')
if [[ $espace -ge $alerte ]]; then
  echo "`hostname` : Espace disque occupe a $espace% sur $disque" | mail -s "Espace disque sur `hostname`" $mail
fi
done

Configuration de SSMTP.conf
--------------------------------------

cat /etc/ssmtp/ssmtp.conf
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=********@outlook.fr

# The place where the mail goes. The actual machine name is required no 
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp-mail.outlook.com

# Send SSL/TLS messages to Outlook
UseSTARTTLS=YES

# Your Outlook Username
AuthUser=*********@outlook.fr 

# Your Outlook Password
AuthPass=********* 

# Where will the mail seem to come from?
# So the message appears to come from Outlook 
#rewriteDomain=

# The full hostname
#hostname=linux-pc

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

Configuration de SSMTP Revaliases
----------------------------------------------

cat /etc/ssmtp/revaliases
# sSMTP aliases
# 
# Format:	local_account:outgoing_address:mailhub
#
# Example: root:your_login@your.domain:mailhub.your.domain[:port]
# where [:port] is an optional port number that defaults to 25.
root:*********@outlook.fr:smtp-mail.outlook.com:587
user:*********@outlook.fr:smtp-mail.outlook.com:587

Lenovo G50 (Intel Core I3 -16 Go 1 To) Windows 10 - Ubuntu - Kubuntu

MacBook Air - iPhone 7 Plus - iPad Air 2 .

Hors ligne

#2 Le 02/11/2018, à 22:17

Watael

Re : Problème avec SSMTP ou du Script ?????

salut,

aucune idée.

par contre

df -h | awk '$1==dsk{sub("%$","",$5);print $5}' dsk="$disque"

et

echo "$HOSTNAME: Espace..."

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 02/11/2018, à 22:40

pingouinux

Re : Problème avec SSMTP ou du Script ?????

Bonsoir,
Autre façon de simplifier :

espace=$(df --output=pcent "$disque" | sed '1d;s/%//')

@Watael :
1) Il faut supprimer le caractère %, sinon le test qui suit cette ligne est en erreur
2) Je ne vois pas la syntaxe de ton awk dans le man, mais ça a l'air de marcher.
J'aurais fait ceci :

... | awk -v dsk="$disque" ...

Dernière modification par pingouinux (Le 02/11/2018, à 22:46)

Hors ligne

#4 Le 02/11/2018, à 22:43

Watael

Re : Problème avec SSMTP ou du Script ?????

Il faut supprimer le caractère %

?

sub("%$","",$5)

!?


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#5 Le 02/11/2018, à 22:45

pingouinux

Re : Problème avec SSMTP ou du Script ?????

Ah oui ! Je suis miro…

Hors ligne

#6 Le 03/11/2018, à 12:11

Postmortem

Re : Problème avec SSMTP ou du Script ?????

Salut,

pingouinux a écrit :

2) Je ne vois pas la syntaxe de ton awk dans le man, mais ça a l'air de marcher.
J'aurais fait ceci :

... | awk -v dsk="$disque" ...

Avec awk -v var=valeur 'programme', var est initialisée et utilisable dès le bloc BEGIN du programme awk.
Avec awk 'programme' var=valeur, var n'est pas initialisée dans le bloc BEGIN, var est initialisée au début du traitement du fichier qui suit.
Ça permet de faire ce genre de chose par exemple :

awk 'pass==1 { traitements à effectuer lors du premier passage sur fichier; next } pass==2 { traitements à effectuer lors du second passage sur fichier }' pass=1 fichier pass=2 fichier

Et au sujet de ces initialisations de variable en argument de awk, j'ai vu sur quelques sites que certains protégeaient l'affectation comme ceci :

"var=$var_bash"

Plutôt que comme ça :

var="$var_bash"

Je trouvais ça bizarre et j'ai compris après, c'est dans le cas où l'option « -k » de bash est utilisée :

$ var=valeur
$ awk '{ print "var=" var "\nENVIRON[\"var\"]=" ENVIRON["var"] }' var="$var" <<<''
var=valeur
ENVIRON["var"]=
$ set -k
$ awk '{ print "var=" var "\nENVIRON[\"var\"]=" ENVIRON["var"] }' var="$var" <<<''
var=
ENVIRON["var"]=valeur
$ awk '{ print "var=" var "\nENVIRON[\"var\"]=" ENVIRON["var"] }' "var=$var" <<<''
var=valeur
ENVIRON["var"]=

Et à cause de ces assignations sur la ligne de commande, c'est bien de renseigner les fichiers qu'on passe à awk avec leur chemin, ça évite qu'un fichier dont le nom comporterait un « = » d'être traité comme une assignation.

Désolé charlimy, ça ne fait pas beaucoup avancer ton shmilblick !


Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#7 Le 03/11/2018, à 12:32

pingouinux

Re : Problème avec SSMTP ou du Script ?????

Merci Postmorten. smile
J'ignorais l'existence de cette syntaxe…

Hors ligne

#8 Le 04/11/2018, à 16:36

charlimy

Re : Problème avec SSMTP ou du Script ?????

Merci à tous

J'ai encore beaucoup de choses à apprendre sur le shell smile)))

Je vais faire un tour dans le var / logs . Peut être trouverais je quelque chose wink


Lenovo G50 (Intel Core I3 -16 Go 1 To) Windows 10 - Ubuntu - Kubuntu

MacBook Air - iPhone 7 Plus - iPad Air 2 .

Hors ligne

#9 Le 07/11/2018, à 09:23

Postmortem

Re : Problème avec SSMTP ou du Script ?????

Bonjour,
Sinon, concernant ton problème de mail, est ce que tu arrives à simplement envoyer un mail direct en ligne de commandes ou est ce que le problème se produit seulement lorsque tu lances le script ?


Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne