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 15/06/2015, à 13:37

hypolite91

crontab -e script shell et sendmail

Bonjour à tous,

Après plusieurs heures de recherche je viens chercher de l'aide ici.

Je souhaite faire l'action suivante:
- Avoir les température de mes hdd  afficher sur un terminal toute les 1/2 heure (par exemple)
- Envoie en même temps d'un mail avec les temp hdd.

Et pour le moment cela fonctionne à moitié, et de plus j'ai un problème de d'accent ..(LANG=fr_FR.UTF-8)

Mon script:

#!/bin/sh
##--température hdd--##
##--Author-giga71-##

LANG='fr_FR.UTF-8'
echo "Temperature des hdd:"

export HISTIGNORE='*sudo -S*'
echo "XXXXXXX" | sudo -S -v
sudo mate-terminal -x bash -c 'sudo hddtemp /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde; read'

VALUE=$(sudo hddtemp /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde)
echo "$VALUE"

echo "$VALUE" | /usr/sbin/sendmail serge56.ok@gmail.com


exit 1

crontab -e:

PATH=/usr/sbin:/usr/bin:/sbin:/bin
LANG=fr_FR.UTF-8
#
# m h  dom mon dow   command

PATH=/usr/sbin:/usr/bin:/sbin:/bin
*/15 * * * * DISPLAY=:0 /media/sigis/media5/hubic/scripts/hddtemp.sh

Et je recois deux mails un vide, et l'autre avec erreur de destinataire.

Delivery to the following recipient failed permanently:

     sigis@gmail.com

Technical details of permanent failure: 
Google tried to deliver your message, but it was rejected by the server for the recipient domain gmail.com by gmail-smtp-in.l.google.com. [2a00:1450:400c:c01::1b].

The error that the other server returned was:
550-5.1.1 The email account that you tried to reach does not exist. Please try
550-5.1.1 double-checking the recipient's email address for typos or
550-5.1.1 unnecessary spaces. Learn more at
550 5.1.1 https://support.google.com/mail/answer/6596 em3si17797360wib.90 - gsmtp


----- Original message -----

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=message-id:from:date:to:subject:content-type;
        bh=NlsraQC0XnC+xLq/4mff2VcOSnZYdZ3vTomXYqewojw=;
        b=04HNxkq3TI9XhcN59F6QjbBx6d/Uf+wpAAsLu/YPfZDfjiYhExzZi2GmqKHtm7FFHF
         Y9i7O8z2Tgyysn2kErgAEyXzDIsYKUHfEimCY6VsNh01TxnR9LZ7Q97KZlzR60FBRADR
         WXNzt52bzJEcWfrJ3PEib4yKvtb70og0B0fIprxO83mdG1wGZ1yv8Y4uHSO37h3fdxFB
         oXydCc6CT4AiBzXZ+8wTksFPIMJsa54tNAESbTfrKma7ZixTHkbwo1gkLBCSQDsmmql4
         H9LglhyEdQ1gX1hdGn+xCCzxbXR3RQPlBZFyc272jPeow6paKKkBDSiyiQBHpu9l0AvR
         UfaA==
X-Received: by 10.180.80.229 with SMTP id u5mr29969765wix.92.1434368165368;
        Mon, 15 Jun 2015 04:36:05 -0700 (PDT)
Return-Path: <serge56.ok@gmail.com>
Received: from mint-64 (ris91-h03-89-80-243-93.dsl.sta.abo.bbox.fr. [89.80.243.93])
        by mx.google.com with ESMTPSA id fb3sm15446313wib.21.2015.06.15.04.36.03
        for <sigis@gmail.com>
        (version=TLSv1 cipher=RC4-SHA bits=128/128);
        Mon, 15 Jun 2015 04:36:04 -0700 (PDT)
Message-ID: <557eb8a4.e364b40a.717d.5b00@mx.google.com>
From: root <serge56.ok@gmail.com>
X-Google-Original-From: root (Cron Daemon)
Received: by mint-64 (sSMTP sendmail emulation); Mon, 15 Jun 2015 13:36:02 +0200
Date: Mon, 15 Jun 2015 13:36:02 +0200
To: sigis
Subject: Cron <sigis@mint-64> DISPLAY=:0 /media/sigis/media5/hubic/scripts/hddtemp.sh
Content-Type: text/plain; charset=ANSI_X3.4-1968
X-Cron-Env: <PATH=/usr/sbin:/usr/bin:/sbin:/bin>
X-Cron-Env: <LANG=fr_FR.UTF-8>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/sigis>
X-Cron-Env: <LOGNAME=sigis>

Temperature des hdd:
[sudo] password for sigis: /dev/sda: KINGSTON SV300S37A60G: 29°C
/dev/sdb: HDT722525DLA380: 32°C
/dev/sdc: SanDisk SDSSDHP128G: 28°C
/dev/sdd: ST31500341AS: 31°C
/dev/sde: SAMSUNG HD154UI: 23°C

Merci de vos réponses

Dernière modification par hypolite91 (Le 15/06/2015, à 13:41)


ne t’arrête jamais de marcher..

Hors ligne

#2 Le 15/06/2015, à 15:29

tiramiseb

Re : crontab -e script shell et sendmail

OH MON DIEU !

echo "XXXXXXX" | sudo -S -v

NON NON NON NON NON NON NON NON NON NON NON NON.

Si tu veux automatiser un truc avec sudo, tu ne mets pas le mot de passe dans ton script ! Tu configures sudo (par le fichier /etc/sudoers) pour qu'il lance la commande sans demander de mot de passe.

-----

À part ça, ton problème de mail provient du fait que tu utilises la commande "sendmail" et non la commande "mail". Si tu veux utiliser "sendmail", il faut que tu préformattes toi-même ton e-mail, avec les en-têtes qui vont bien. Si tu veux juste donner le contenu et que le mail se formate "tout seul", alors il faut utiliser "mail".

Hors ligne

#3 Le 15/06/2015, à 16:29

hypolite91

Re : crontab -e script shell et sendmail

Bonjour,

Merci pour votre réponse. smile

Je change le sudoers

Quel groupe je dois choisir  pour sudoers ?

et pour mail il faut l'installer ?

Dernière modification par hypolite91 (Le 15/06/2015, à 16:36)


ne t’arrête jamais de marcher..

Hors ligne

#4 Le 15/06/2015, à 17:41

tiramiseb

Re : crontab -e script shell et sendmail

Quel groupe je dois choisir  pour sudoers ?

Bah tu mets directement l'utilisateur avec lequel tu veux exécuter ce machin, "sigis".

et pour mail il faut l'installer ?

Tu n'as pas déjà la commande installée ?
Sinon, tu peux installer le paquet mailx (ou bsd-mailx sur les versions récentes d'Ubuntu).

Hors ligne

#5 Le 15/06/2015, à 19:05

hypolite91

Re : crontab -e script shell et sendmail

Re,

voici mon script modifié :

#!/bin/sh
##--température hdd--##
##--Author-giga71-##

LANG='fr_FR.UTF-8'
echo "Température des hdd:"
sudo mate-terminal -x bash -c 'sudo hddtemp /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde; read'
VALUE=$(sudo hddtemp /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde)
echo "$VALUE"

echo  "$VALUE" | mailx -s "hdd température"  serge56.ok@gmail.com  

exit 1

je reçois bien par mail les info des dd, mais avec des problèmes d'accents :

 Température des hdd:
Impossible d'analyser les paramètres : Impossible d'ouvrir l'affichage : 
/dev/sda: KINGSTON SV300S37A60G: 29°C
/dev/sdb: HDT722525DLA380: 32°C
/dev/sdc: SanDisk SDSSDHP128G: 28°C
/dev/sdd: ST31500341AS: 31°C
/dev/sde: SAMSUNG HD154UI: 23°C 

De plus avec "sudo crontab -e" je n'arrive pas a afficher le terminal (mate-terminal) sur mon pc,

Une idée ?


ne t’arrête jamais de marcher..

Hors ligne

#6 Le 16/06/2015, à 11:13

tiramiseb

Re : crontab -e script shell et sendmail

avec des problèmes d'accents

Essaye d'ajouter "LC_CTYPE" en plus de "LANG".

De plus avec "sudo crontab -e" je n'arrive pas a afficher le terminal (mate-terminal) sur mon pc,

Avec "sudo crontab -e" tu édites les jobs cron de l'utilisateur root. Pourquoi voudrais-tu faire ça !?

Hors ligne

#7 Le 16/06/2015, à 13:09

hypolite91

Re : crontab -e script shell et sendmail

Bonjour,  big_smile

On va oublier "sudo crontab -e", (en fait je voulais que mon script affiche le terminal avec les températures lorsqu'il etait lancé par crontab).

Voici mon script :

 #!/bin/sh
##--température hdd--##
##--Author-giga71-##

LANG='fr_FR.UTF-8'
LC_CTYPE='fr_FR.UTF-8'
echo "Température des hdd:"

sudo mate-terminal -x bash -c 'sudo hddtemp /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde; read'
VALUE=$(sudo hddtemp /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde)
echo "$VALUE"
mate-terminal -e 'sms sigis "Hello world !"'
echo  "$VALUE" | mailx -s "hdd température"  serge56.ok@gmail.com  

exit 1

Grâce au script de metalux voir ici:

forum ubuntu

On peut envoyé un sms pour ceux qui sont chez free.

Et j'ai une question à ce sujet ; je voudrai ne recevoir que les valeurs des température des dd, en effet le sms ne prends pas en compte de longue ligne.

Voici ce que je veux obtenir,

  26°C 29°C 32°C 33°C 31°C 

J'ai remarqué une différence entre le lancement manuel du script ( qui m'envoie un sms "hello world !" ) et le script lancé par "sudo crontab -e" qui n'envoie pas de sms ..


Une idée sur cette différence ?

Dernière modification par hypolite91 (Le 16/06/2015, à 13:35)


ne t’arrête jamais de marcher..

Hors ligne

#8 Le 16/06/2015, à 14:25

tiramiseb

Re : crontab -e script shell et sendmail

Une idée sur cette différence ?

Non

Hors ligne