Stdin: is not a tty

Bonjour les amis. Et, d’avance, merci de l’attention que vous porterez à ce post.

Il y a quelques semaines, j’ai installé le logiciel Awstats afin de surveiller l’activité de mon serveur web. Le logiciel fonctionne mais depuis, chaque dimanche, le serveur m’envoie un e-mail contenant ce message:

stdin: is not a tty

Après quelques tests, j’ai trouvé que ce message est lié à ces lignes que j’ai ajouté au fichier /etc/logrotate.d/apache2, qui servent à ne pas perdre de données lors de la rotation des logs d’apache:

prerotate su - root -c "/usr/lib/cgi-bin/awstats.pl -config=mondomaine endscript

Avant de rédiger ce post, j’ai cherché sur Internet ce que veut dire “stdin: is not a tty” mais je ne comprends pas bien. :think: Apparemment ce message concerne surtout des problèmes de connexion SSH. Je suis pourtant sûr que dans mon cas, c’est bien les lignes que j’ai ajouté à /etc/logrotate.d/apache2 qui engendre le message.

Peut être pourrez vous m’aider à répondre à ces questions:

  • que veut dire “stdin: is not a tty” ?
  • Est ce un message d’erreur ?
  • Que faire pour satisfaire le serveur pour qu’il ne m’envoie plus ce message ?

D’avance merci :confusion-helpsos:

Est-ce important d'utiliser l'utilisateur root ici?
Pour ma part, j'ai ça : [code]
 /usr/local/bin/awstats_update 2>&1
[/code]
Qui est juste le chemin vers un script contenant : [code]
/usr/share/awstats/tools/awstats_buildstaticpages.pl -update -config=votredomaine.net -dir=/repertoire/de/sortie -awstatsprog=/usr/lib/cgi-bin/awstats.pl > /dev/null
[/code]
Bref, je ne m'authentifie pas en tant que root, puisque de toute façon c'est lui qui lance le script le logrotate.

J'essaierai comme ça pour voir : 
[code]prerotate
   /usr/lib/cgi-bin/awstats.pl -config=mondomaine
endscript[/code]

Est-ce important d’utiliser l’utilisateur root ici?
Pour ma part, j’ai ça : /usr/local/bin/awstats_update 2>&1
Qui est juste le chemin vers un script contenant : /usr/share/awstats/tools/awstats_buildstaticpages.pl -update -config=votredomaine.net -dir=/repertoire/de/sortie -awstatsprog=/usr/lib/cgi-bin/awstats.pl > /dev/null
Bref, je ne m’authentifie pas en tant que root, puisque de toute façon c’est lui qui lance le script le logrotate.

J’essaierai comme ça pour voir :

prerotate /usr/lib/cgi-bin/awstats.pl -config=mondomaine endscript

Merci thuban pour ta réponse.
je me suis trompé dans mon premier post quand j’ai retranscrit les lignes ajoutées dans /etc/logrotate.d/apache2.
Voilà les lignes en questions:

prerotate su - root -c "/usr/lib/cgi-bin/awstats.pl -config=mondomaine -update >dev/null" endscript
Sur tes conseils, je vais essayer de remplacer la ligne centrale par:

/usr/lib/cgi-bin/awstats.pl -config=mondomaine -update >dev/null

On va voir ce que ça donne; je posterai le résultat sur ce topic…dimanche prochain :mrgreen:

stdin: entrée standard
tty: terminal utilisateur (sh, bash, zsh, …)
Tu as un logiciel qui attends une donnée d’entrée via un terminal utilisateur.

Bonjour,
Voilà la suite et fin de ce topic. La ligne /usr/lib/cgi-bin/awstats.pl -config=mondomaine -update >dev/null a résolu le problème: plus de mail “stdin: is not a tty”. Je classe donc ce topic en résolu.
Merci Thuban pour tes conseils éclairés et piratebab pour avoir essayé de m’expliquer ce que signifie ce message cryptique.