Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Mail vide quand lancé par démon

3 réponses
Avatar
Kryszttoff
Salut à tous,

J'essaie de mettre en place un démon qui envoie un mail à une adresse
donnée. J'utilise un petit script shell qui fonctionne bien en le
lançant à la main (il fabrique un fichier dans /tmp/ et l'envoie via
'mail -s Mon_Sujet adresse@truc.com < $fichier' ).

Mais lancé comme démon, il échoue ! Le mail arrive bien mais il est
vide. Si je cherche les logs et les erreurs j'obtiens ces messages :

csh: No $home variable set.
"~/.mailrc": No match.
Null message body; hope that's ok

Le script s'exécute en root/wheel, y a pas de limite sur les droits,
j'ai mis explicitement bash (et pas csh) comme shell... Je ne comprends
pas l'histoire du .mailrc, il n'en a pas besoin en ligne de commande !
Je sèche, je suis preneur de toute idée ou conseil ou piste...

À tout hasard, voici le plist qui a été créé via Lingon (très sympa):


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Debug</key>
<true/>
<key>GroupName</key>
<string>wheel</string>
<key>Label</key>
<string>com.ploumploum.plamplam.monscript</string>
<key>Nice</key>
<integer>-20</integer>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>/var/root/bin/monscript</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceDescription</key>
<string>Rapporte</string>
<key>StandardErrorPath</key>
<string>/tmp/rapporte.err</string>
<key>StandardOutPath</key>
<string>/tmp/rapporte2.log</string>
<key>StartInterval</key>
<integer>10000</integer>
<key>UserName</key>
<string>root</string>
</dict>
</plist>




Krysztoff

3 réponses

Avatar
narberd
Salut à tous,

J'essaie de mettre en place un démon qui envoie un mail à une adresse
donnée. J'utilise un petit script shell qui fonctionne bien en le
lançant à la main (il fabrique un fichier dans /tmp/ et l'envoie via
'mail -s Mon_Sujet < $fichier' ).

est-ce que Mon_sujet est bien une chaîne de caractère?

Mais lancé comme démon, il échoue ! Le mail arrive bien mais il est
vide. Si je cherche les logs et les erreurs j'obtiens ces messages :

csh: No $home variable set.
"~/.mailrc": No match.
Null message body; hope that's ok



est-ce que la première ligne du script est bien :
#!/bin/bash
d'après l'erreur, il y aurait plutôt
#!/bin/csh


Le script s'exécute en root/wheel, y a pas de limite sur les droits,
j'ai mis explicitement bash (et pas csh) comme shell... Je ne comprends
pas l'histoire du .mailrc, il n'en a pas besoin en ligne de commande !
Je sèche, je suis preneur de toute idée ou conseil ou piste...

À tout hasard, voici le plist qui a été créé via Lingon (très sympa):


très sympa, marche pas sur 10.3, dommage.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Debug</key>
<true/>
<key>GroupName</key>
<string>wheel</string>
<key>Label</key>
<string>com.ploumploum.plamplam.monscript</string>
<key>Nice</key>
<integer>-20</integer>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>/var/root/bin/monscript</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceDescription</key>
<string>Rapporte</string>
<key>StandardErrorPath</key>
<string>/tmp/rapporte.err</string>
<key>StandardOutPath</key>
<string>/tmp/rapporte2.log</string>
<key>StartInterval</key>
<integer>10000</integer>
<key>UserName</key>
<string>root</string>
</dict>
</plist>




Krysztoff


Avatar
Kryszttoff
J'essaie de mettre en place un démon qui envoie un mail à une adresse
donnée. J'utilise un petit script shell qui fonctionne bien en le
lançant à la main (il fabrique un fichier dans /tmp/ et l'envoie via
'mail -s Mon_Sujet < $fichier' ).
est-ce que Mon_sujet est bien une chaîne de caractère?



Oui, et un seul mot, et le mail arrive bien avec ce sujet.

est-ce que la première ligne du script est bien :
#!/bin/bash
d'après l'erreur, il y aurait plutôt
#!/bin/csh


C'est bien ce que j'ai du mal à comprendre ! J'ai bien #!/bin/bash en
première ligne du shell (et le plist dit le lancer avec /bin/bash).


Si quelqu'un d'autre a une idée...

Krysztoff


Avatar
Kryszttoff
J'essaie de mettre en place un démon qui envoie un mail à une adresse
donnée. J'utilise un petit script shell qui fonctionne bien en le
lançant à la main (il fabrique un fichier dans /tmp/ et l'envoie via
'mail -s Mon_Sujet < $fichier' ).
est-ce que Mon_sujet est bien une chaîne de caractère?



Oui, et un seul mot, et le mail arrive bien avec ce sujet.

est-ce que la première ligne du script est bien :
#!/bin/bash
d'après l'erreur, il y aurait plutôt
#!/bin/csh


C'est bien ce que j'ai du mal à comprendre ! J'ai bien #!/bin/bash en
première ligne du shell (et le plist dit le lancer avec /bin/bash).


Si quelqu'un d'autre a une idée...

Krysztoff