OVH Cloud OVH Cloud

Cron

20 réponses
Avatar
Gina
Bonjour,

Très beaucoup débutante avec Linux, je rame allègrement...

Voilà le problème, je m'essaie à utiliser cron mais ça ne fonctionne
pas...Je m'explique:

J'ai créé une entrée crontab pour root afin de recevoir un mail, mais je
ne reçois rien dans ma bal...
Apparemment l'entrée semble correcte:

0 14 18 8 * echo "Acheter des clopes !" | mail -s "URGENT" root
>/dev/null 2>&1


Merci d'avance pour votre aide


--
Gina ;-)

"Des fois t'es le pare-brise,
des fois t'es le moustique..."

10 réponses

1 2
Avatar
Bernard Déléchamp
Bernard Déléchamp wrote:

Le point d'exclamation juste avant un pipe (|) possède une signification
spéciale. «man bash» pour les détails, même si je reconnais que pour
un(e) newbie, ça risque d'être passablement abscons.


Au temps pour moi. C'est bien le point d'exclamation terminal dans une
chaîne entre apostrophes qui est en cause, mais rien à voir avec le
pipeline. Le shell semble prendre ça pour une expansion de l'historique,
et j'ignorais que l'on pouvait entrer un point d'exclamation ailleurs
qu'en 1ère position significative sur la ligne.

Correction

Plusieurs solutions :

Supprimer le caractère incriminé
Le faire suivre par une espace
Remplacer les guillemets (") par des apostrophes (')
Supprimer les guillemets
Echapper le point d'exclamation (pas top)

Toute ma confuse ;-)

--
Après la guerre, deux choix s'offraient à moi : finir ma vie comme
député, ou la finir comme alcoolique. Je remercie Dieu d'avoir si
bien guidé mon choix : je ne suis plus député !
Sir Winston Churchill

Avatar
Nicolas Ecarnot
Stéphane ACOUNIS wrote in
news::

Sur Internet, personne ne sait que tu es un chien ... ;-)


Wouf !

--
Nicolas Ecarnonoss, à la niche

Avatar
Gina
Rien est perdu, Stéphane ACOUNIS a écrit:
Pas grand chose à faire, /var/spool/mail est l'endroit pour stocker le
courrier nouvellement arrivé. Ton lecteur de courier, en y déclarant une
boîte aux lettres locale, sait comment gérer. Ensuite soit il stocke tout
dans /var/spool/mail soit il utilise un répertoire dédié (et un format de
mailbox plus convivial). Je te recommande Sylpheed, très simple et très
puissant.


Merci pour tes conseils :-)

Mais il serait plus judicieux de ne pas utiliser 'root' comme utilisateur,
plutôt ton nom (ne serait-ce pas 'gina' ?).


Monsieur est perspicace ;-)


--
Gina ;-)

"Des fois t'es le pare-brise,
des fois t'es le moustique..."

Avatar
Gina
Rien est perdu, Bernard Déléchamp a écrit:
Correction
Plusieurs solutions :
Supprimer le caractère incriminé
Le faire suivre par une espace
Remplacer les guillemets (") par des apostrophes (')
Supprimer les guillemets
Echapper le point d'exclamation (pas top)


Non non, je t'assure ça marche, et avec le point d'exclamation !
Avec tous les bidouillages que j'ai testé, ne me demande pas comment
j'ai fait pour y arriver...Mais ça marche ;-)

Toute ma confuse ;-)


Y a pas d'mal ;-)


--
Gina ;-)

"Des fois t'es le pare-brise,
des fois t'es le moustique..."

Avatar
Gina
Rien est perdu, J. Mayer a écrit:
OK, désolé, je voulais juste dire d'essayer de remplacer
echo par /bin/echo et mail par /usr/bin/mail.
Le chemin de recherche des executable (la variable PATH)
n'est pas forcément défini dans l'environnement de cron...


Merci pour ces précisions :-)


--
Gina ;-)

"Des fois t'es le pare-brise,
des fois t'es le moustique..."

Avatar
Thomas Nemeth
Le mar 19 aoû 2003 à 07:35, Gina a tapoté :
| Rien est perdu, J. Mayer a écrit:
| > OK, désolé, je voulais juste dire d'essayer de remplacer
| > echo par /bin/echo et mail par /usr/bin/mail.
| > Le chemin de recherche des executable (la variable PATH)
| > n'est pas forcément défini dans l'environnement de cron...
|
| Merci pour ces précisions :-)

C'est tout de même assez bizarre que ces 2 chemins ne soient pas
définis dans l'environnement de cron. À tout hasard, je te
conseilles de faire une entrée cron telle que celle-ci :

* * * * * env

(Attention à ne pas redéfinir la variable MAILTO).
Regarde ensuite le contenu des variables telle que PATH.


Thomas
--
BOFH excuse #388:
Bad user karma.
Avatar
Thomas Nemeth
Le mar 19 aoû 2003 à 07:35, Gina a tapoté :
| Rien est perdu, J. Mayer a écrit:
| > OK, désolé, je voulais juste dire d'essayer de remplacer
| > echo par /bin/echo et mail par /usr/bin/mail.
| > Le chemin de recherche des executable (la variable PATH)
| > n'est pas forcément défini dans l'environnement de cron...
|
| Merci pour ces précisions :-)

C'est tout de même assez bizarre que ces 2 chemins ne soient pas
définis dans l'environnement de cron. À tout hasard, je te
conseille de faire une entrée cron telle que celle-ci :

* * * * * env

(Attention à ne pas redéfinir la variable MAILTO).
Regarde ensuite le contenu des variables telle que PATH.


Thomas
--
BOFH excuse #388:
Bad user karma.
Avatar
J. Mayer
On Tue, 19 Aug 2003 07:44:43 +0000, Thomas Nemeth wrote:

Le mar 19 aoû 2003 à 07:35, Gina a tapoté :
| Rien est perdu, J. Mayer a écrit:
| > OK, désolé, je voulais juste dire d'essayer de remplacer
| > echo par /bin/echo et mail par /usr/bin/mail.
| > Le chemin de recherche des executable (la variable PATH)
| > n'est pas forcément défini dans l'environnement de cron...
|
| Merci pour ces précisions :-)

C'est tout de même assez bizarre que ces 2 chemins ne soient pas
définis dans l'environnement de cron. À tout hasard, je te
conseille de faire une entrée cron telle que celle-ci :

Effectivement, mais il semble que ce soit un problème récurrent...

J'ai pris mon courage à deux main, et j'ai trouvé assez vite,
en fait. Dans /etc/crontab, j'ai ceci:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

Et, en effet, man 5 crontab me dit que les variables suivantes
sont définies automatiquement:
SHELL=/bin/sh
PATH=/bin:/usr/bin
LOGNAME & HOME en fonction de /etc/passwd

On peut redéfinir SHELL PATH et HOME et ajouter MAILTO
dans /etc/crontab et/ou dans les crontab des utilisateurs.

Donc, effectivement, ma remarque était injustifiée,
(puisque /bin et /usr/bin sont dans le PATH par défaut)
mais ça méritait d'être vérifié.

Cordialement.

Avatar
Thomas Nemeth
Le lun 18 aoû 2003 à 14:47, Gina a tapoté :
| Bonjour,

Salut.


| Très beaucoup débutante avec Linux, je rame allègrement...

Ça arrive, au début :)


| Apparemment l'entrée semble correcte:
|
| 0 14 18 8 * echo "Acheter des clopes !" | mail -s "URGENT" root
| >/dev/null 2>&1

Je trouve très louche tes redirections !
Depuis des lustres, j'utilise cron pour me rappeler des trucs
importants sans mettre de redirection :

0 8 30,31,1,2 * * echo -e "Faire le chèque du loyer" | mail thomas -s Loyer



| Merci d'avance pour votre aide

Avec plaisir.


Thomas
--
panic("huh?n");
2.2.16 /usr/src/linux/arch/i386/kernel/smp.c
Avatar
Thomas Nemeth
Le mar 19 aoû 2003 à 14:01, J. Mayer a tapoté :
| On Tue, 19 Aug 2003 07:44:43 +0000, Thomas Nemeth wrote:
|
| > C'est tout de même assez bizarre que ces 2 chemins ne soient pas
| > définis dans l'environnement de cron. À tout hasard, je te
| > conseille de faire une entrée cron telle que celle-ci :
| >
| Effectivement, mais il semble que ce soit un problème récurrent...

Ici ? C'est vrai que ça fait quelques semaines que je ne lis plus
qu'en diagonale en passant de temps à autres, mais de là à ce que
les pbs de cron soient récurrent à ce point... Il y a un pas :)


| Donc, effectivement, ma remarque était injustifiée,
| (puisque /bin et /usr/bin sont dans le PATH par défaut)
| mais ça méritait d'être vérifié.

De toutes façons je pense que sa redirection était foireuse :)


Thomas
--
panic("Tell me what a watchpoint trap is, and I'll then
deal with such a beast...");
2.2.16 /usr/src/linux/arch/arch/sparc/kernel/traps.c
1 2