Script dans crontab et redirection sortie standard
5 réponses
Seb
Bonjour,
Voici mon problème du matin. Je cherche à faire un script qui m'envoie
régulièrement par mail les relevés de température effectués sur mon
serveur. Le script appelle des commandes et redirrige leur sortie vers
un fichier. Une fois terminé, ce fichier est envoyé par mail.
Lorsque je lance le script à la main depuis un terminal, tout est OK mon
fichier contient bien les relevés de température de la carte mère et des
disques.
Lorsque je l'inscrit dans le crontab, je ne récupère que la sortie de la
commande "mbmon", pas de température disque dans le fichier...
J'ai retourné le problème dans pas mal de sens et je ne vois pas ce qui
pourrait merder...
Si quelqu'un veut bien y jeter un oeil...
Merci d'avance.
#!/bin/sh
# Envoie par e-mail les relevés de température
TMP_DIR=/tmp
TMP_FILE=temp.txt
E_MAIL=user@provider.tld
SUBJECT="`hostname` - Relevés de température"
cd $TMP_DIR
rm -f $TMP_FILE
# Message d'accueil
echo "Relevés de température effectués le `date`" > $TMP_FILE
# On repasse en ISO-8859-15
recode UTF-8..ISO-8859-15 $TMP_DIR/$TMP_FILE
# Envoi de l'e-mail
mail -s "$SUBJECT" $E_MAIL < $TMP_DIR/$TMP_FILE
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
pingouin osmolateur
Salut Sous quelle identité tu exécutes ton script ?
Sinon ta commande d'envoie de mail me parait suspect. j'aurais utiliser la commande suivante mail -s <subject> user <<EOF <body> EOF
Que contient ton fichier $TMP_DIR/$TMP_FILE a la fin de l'exécution du sc ript?
Voila quelques idées. AC
----- Message d'origine ---- De : Seb À : Envoyé le : Mardi, 27 Juin 2006, 9h05mn 13s Objet : Script dans crontab et redirection sortie standard
Bonjour,
Voici mon problème du matin. Je cherche à faire un script qui m'envoie régulièrement par mail les relevés de température effectués sur m on serveur. Le script appelle des commandes et redirrige leur sortie vers un fichier. Une fois terminé, ce fichier est envoyé par mail.
Lorsque je lance le script à la main depuis un terminal, tout est OK mon fichier contient bien les relevés de température de la carte mère et des disques. Lorsque je l'inscrit dans le crontab, je ne récupère que la sortie de l a commande "mbmon", pas de température disque dans le fichier...
J'ai retourné le problème dans pas mal de sens et je ne vois pas ce qui pourrait merder...
Si quelqu'un veut bien y jeter un oeil...
Merci d'avance.
#!/bin/sh # Envoie par e-mail les relevés de température
TMP_DIR=/tmp TMP_FILE=temp.txt E_MAIL= SUBJECT="`hostname` - Relevés de température"
cd $TMP_DIR rm -f $TMP_FILE
# Message d'accueil echo "Relevés de température effectués le `date`" > $TMP_FILE
# On repasse en ISO-8859-15 recode UTF-8..ISO-8859-15 $TMP_DIR/$TMP_FILE
# Envoi de l'e-mail mail -s "$SUBJECT" $E_MAIL < $TMP_DIR/$TMP_FILE
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact rg
Salut
Sous quelle identité tu exécutes ton script ?
Sinon ta commande d'envoie de mail me parait suspect.
j'aurais utiliser la commande suivante
mail -s <subject> user <<EOF
<body>
EOF
Que contient ton fichier $TMP_DIR/$TMP_FILE a la fin de l'exécution du sc ript?
Voila quelques idées.
AC
----- Message d'origine ----
De : Seb <sebnewsletter@free.fr>
À : debian-user-french@lists.debian.org
Envoyé le : Mardi, 27 Juin 2006, 9h05mn 13s
Objet : Script dans crontab et redirection sortie standard
Bonjour,
Voici mon problème du matin. Je cherche à faire un script qui m'envoie
régulièrement par mail les relevés de température effectués sur m on
serveur. Le script appelle des commandes et redirrige leur sortie vers
un fichier. Une fois terminé, ce fichier est envoyé par mail.
Lorsque je lance le script à la main depuis un terminal, tout est OK mon
fichier contient bien les relevés de température de la carte mère et des
disques.
Lorsque je l'inscrit dans le crontab, je ne récupère que la sortie de l a
commande "mbmon", pas de température disque dans le fichier...
J'ai retourné le problème dans pas mal de sens et je ne vois pas ce qui
pourrait merder...
Si quelqu'un veut bien y jeter un oeil...
Merci d'avance.
#!/bin/sh
# Envoie par e-mail les relevés de température
TMP_DIR=/tmp
TMP_FILE=temp.txt
E_MAIL=user@provider.tld
SUBJECT="`hostname` - Relevés de température"
cd $TMP_DIR
rm -f $TMP_FILE
# Message d'accueil
echo "Relevés de température effectués le `date`" > $TMP_FILE
# On repasse en ISO-8859-15
recode UTF-8..ISO-8859-15 $TMP_DIR/$TMP_FILE
# Envoi de l'e-mail
mail -s "$SUBJECT" $E_MAIL < $TMP_DIR/$TMP_FILE
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.o rg
Salut Sous quelle identité tu exécutes ton script ?
Sinon ta commande d'envoie de mail me parait suspect. j'aurais utiliser la commande suivante mail -s <subject> user <<EOF <body> EOF
Que contient ton fichier $TMP_DIR/$TMP_FILE a la fin de l'exécution du sc ript?
Voila quelques idées. AC
----- Message d'origine ---- De : Seb À : Envoyé le : Mardi, 27 Juin 2006, 9h05mn 13s Objet : Script dans crontab et redirection sortie standard
Bonjour,
Voici mon problème du matin. Je cherche à faire un script qui m'envoie régulièrement par mail les relevés de température effectués sur m on serveur. Le script appelle des commandes et redirrige leur sortie vers un fichier. Une fois terminé, ce fichier est envoyé par mail.
Lorsque je lance le script à la main depuis un terminal, tout est OK mon fichier contient bien les relevés de température de la carte mère et des disques. Lorsque je l'inscrit dans le crontab, je ne récupère que la sortie de l a commande "mbmon", pas de température disque dans le fichier...
J'ai retourné le problème dans pas mal de sens et je ne vois pas ce qui pourrait merder...
Si quelqu'un veut bien y jeter un oeil...
Merci d'avance.
#!/bin/sh # Envoie par e-mail les relevés de température
TMP_DIR=/tmp TMP_FILE=temp.txt E_MAIL= SUBJECT="`hostname` - Relevés de température"
cd $TMP_DIR rm -f $TMP_FILE
# Message d'accueil echo "Relevés de température effectués le `date`" > $TMP_FILE
# On repasse en ISO-8859-15 recode UTF-8..ISO-8859-15 $TMP_DIR/$TMP_FILE
# Envoi de l'e-mail mail -s "$SUBJECT" $E_MAIL < $TMP_DIR/$TMP_FILE
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact rg
Jacques L'helgoualc'h
Seb a écrit, mardi 27 juin 2006, à 09:05 :
Bonjour,
bonjour,
[...] Lorsque je lance le script à la main depuis un terminal, tout est OK mon fichier contient bien les relevés de température de la carte mère et des disques. Lorsque je l'inscrit dans le crontab, je ne récupère que la sortie de la commande "mbmon", pas de température disque dans le fichier...
J'ai retourné le problème dans pas mal de sens et je ne vois pas ce qui pourrait merder...
Le $PATH en crontab est réduit à /usr/bin:/bin (man 5 crontab), donc tu aurais ce problème avec un hddtemp maison dans /usr/local/bin/.
donc vérifie que ton binaire est bien setuid root ?
N.B. on peut aussi simplifier
echo "`hddtemp /dev/hda`" >> $TMP_FILE
en
hddtemp /dev/hda >> "$TMP_FILE"
-- Jacques L'helgoualc'h
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Seb a écrit, mardi 27 juin 2006, à 09:05 :
Bonjour,
bonjour,
[...]
Lorsque je lance le script à la main depuis un terminal, tout est OK mon
fichier contient bien les relevés de température de la carte mère et des
disques.
Lorsque je l'inscrit dans le crontab, je ne récupère que la sortie de la
commande "mbmon", pas de température disque dans le fichier...
J'ai retourné le problème dans pas mal de sens et je ne vois pas ce qui
pourrait merder...
Le $PATH en crontab est réduit à /usr/bin:/bin (man 5 crontab), donc tu
aurais ce problème avec un hddtemp maison dans /usr/local/bin/.
donc vérifie que ton binaire est bien setuid root ?
N.B. on peut aussi simplifier
echo "`hddtemp /dev/hda`" >> $TMP_FILE
en
hddtemp /dev/hda >> "$TMP_FILE"
--
Jacques L'helgoualc'h
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
[...] Lorsque je lance le script à la main depuis un terminal, tout est OK mon fichier contient bien les relevés de température de la carte mère et des disques. Lorsque je l'inscrit dans le crontab, je ne récupère que la sortie de la commande "mbmon", pas de température disque dans le fichier...
J'ai retourné le problème dans pas mal de sens et je ne vois pas ce qui pourrait merder...
Le $PATH en crontab est réduit à /usr/bin:/bin (man 5 crontab), donc tu aurais ce problème avec un hddtemp maison dans /usr/local/bin/.
donc vérifie que ton binaire est bien setuid root ?
N.B. on peut aussi simplifier
echo "`hddtemp /dev/hda`" >> $TMP_FILE
en
hddtemp /dev/hda >> "$TMP_FILE"
-- Jacques L'helgoualc'h
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
kolter
en un petit peu amélioré (non testé) :
----------------------------------
#!/bin/sh
E_MAIL="" SUBJECT="$(hostname) - Relevés de température"
( # Message d'accueil echo "Relevés de température effectués le $(date)"
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
en un petit peu amélioré (non testé) :
----------------------------------
#!/bin/sh
E_MAIL="user@provider.tld"
SUBJECT="$(hostname) - Relevés de température"
(
# Message d'accueil
echo "Relevés de température effectués le $(date)"
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
donc vérifie que ton binaire est bien setuid root ?
Problème de $PATH... c'est bien vu ! je vais jeter un coup d'oeil.
N.B. on peut aussi simplifier
echo "`hddtemp /dev/hda`" >> $TMP_FILE
en
hddtemp /dev/hda >> "$TMP_FILE"
C'était la première version du script et j'ai ajouté le echo en pensant que c'était là la cause de mon problème.
J'essaye les quelques pistes qui m'ont été suggérées et je fais un feedback.
Seb
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
donc vérifie que ton binaire est bien setuid root ?
Problème de $PATH... c'est bien vu ! je vais jeter un coup d'oeil.
N.B. on peut aussi simplifier
echo "`hddtemp /dev/hda`" >> $TMP_FILE
en
hddtemp /dev/hda >> "$TMP_FILE"
C'était la première version du script et j'ai ajouté le echo en pensant
que c'était là la cause de mon problème.
J'essaye les quelques pistes qui m'ont été suggérées et je fais un feedback.
Seb
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
donc vérifie que ton binaire est bien setuid root ?
Problème de $PATH... c'est bien vu ! je vais jeter un coup d'oeil.
N.B. on peut aussi simplifier
echo "`hddtemp /dev/hda`" >> $TMP_FILE
en
hddtemp /dev/hda >> "$TMP_FILE"
C'était la première version du script et j'ai ajouté le echo en pensant que c'était là la cause de mon problème.
J'essaye les quelques pistes qui m'ont été suggérées et je fais un feedback.
Seb
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Seb
Seb a écrit :
Problème de $PATH... c'est bien vu ! je vais jeter un coup d'oeil.
On y est. C'était bien un problème de $PATH. hddtemp est dans /usr/sbin. J'ai ajouté ce chemin au $PATH dans mon script et ça fonctionne correctement.
J'ai pris la version améliorée du script fournie par M. (j'espère que c'est sous GPL...).
Il ne me reste plus qu'un petit problème d'encodage des caractères à gérer mais je devrais m'en sortir.
Merci à tous.
Seb
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Seb a écrit :
Problème de $PATH... c'est bien vu ! je vais jeter un coup d'oeil.
On y est. C'était bien un problème de $PATH. hddtemp est dans /usr/sbin.
J'ai ajouté ce chemin au $PATH dans mon script et ça fonctionne
correctement.
J'ai pris la version améliorée du script fournie par M. (j'espère que
c'est sous GPL...).
Il ne me reste plus qu'un petit problème d'encodage des caractères à
gérer mais je devrais m'en sortir.
Merci à tous.
Seb
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Problème de $PATH... c'est bien vu ! je vais jeter un coup d'oeil.
On y est. C'était bien un problème de $PATH. hddtemp est dans /usr/sbin. J'ai ajouté ce chemin au $PATH dans mon script et ça fonctionne correctement.
J'ai pris la version améliorée du script fournie par M. (j'espère que c'est sous GPL...).
Il ne me reste plus qu'un petit problème d'encodage des caractères à gérer mais je devrais m'en sortir.
Merci à tous.
Seb
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact