MRTG et crontab : problème d'actualisation de données [Résolu] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 06-05-2007 à 06:59:06
Vérifies que le crontab correspond à ton user (root etc...).
Ensuite ajoute dans modifies ton crontab pour ajouter la capture des sorties (stdout/stderr) pour voir s'il n'y aurait pas de messages d'erreur.
avec le crontab correspondant :
*/2 * * * * /root/mrtg.cron >> /root/err.txt 2>&1
Marsh Posté le 06-05-2007 à 12:00:34
Tout d'abord merci de ta réponse.
Cette redirection des erreurs me permet de voir que ... ben j'ai des erreurs (sic !)
Cependant, la nature des erreurs m'étonne, vu que /usr/bin/mrtg /etc/mrtg.cfg passe mais que cette commande génère des erreurs une fois dans un script lancé par un cron.
Voici l'une des erreurs que j'obtiens :
Can't exec "php" : aucun fichier ou repertoire de ce type at /usr/bin/mrtg line 1679
WARNING : running 'php -f /var/www/scripts/tcpConnection.php'' : aucun fichier ou repertoire de ce type
WARNING : Cannot get any data from external command 'php -f /var/www/scripts/tcpConnection.php' . Maybe the external command did not even start
WARNING : problem with external get 'php -f /var/www/scripts/tcpConnection.php' : Expected a number for 'in' (ou out d'ailleurs) but got nothing.
J'ai la meme erreur pour tous les scripts php sur ce modèle, alors qu'il existent bien (/usr/bin/mrtg /etc/mrtg.cfg utilise bien ces fichiers et me donne les données), et les permissions sont les bonnes, j'ai meme tenté un chmod 777 sur tout pour tester, et je suis loggé en tant que root depuis le début (je sais cay mal mais je touche bcp au systeme).
Qqun saurait il pourquoi mrtg ne parvient pas a trouver mes fichiers php , alors qu'ils existent?
Encore merci !
Marsh Posté le 06-05-2007 à 13:42:31
J'ai modifié mes scripts pour les rendre executable en ajoutant au début :
#!/usr/local/bin/php
Ensuite dans mrtg j'ai mis Target : `/var/www/scripts/tcpConnection.php`
Puis ca marche !!!
Ah les joies du crontab....
En tout cas merci de ton aide, ca marche maintenant ).
Marsh Posté le 05-05-2007 à 14:39:16
Bonjour,
je suis actuellement sur un projet de monitoring de serveurs.
J'ai choisi pour cela d'utiliser mrtg.
Le problème est le suivant :
Lorsque je tape à la main /usr/bin/mrtg /etc/mrtg.cfg toutes les 2 mins environ pour mettre à jour les données des graphes, cela se passe bien , les graphes sont tracés avec les bonnes valeurs.
Mais bien sur je le fais à la main juste pour tester que ca marche bien, après quoi j'utilise le cron pour le faire automatiquement.
Et c'est la que j'ai un gros problème.
En effet, lorsque cette meme commande est executée par le crontab, le graphe s'actualise bien qd il le faut, mais avec des valeurs nulles ! C'est à dire j'ai des graphes tout plat avec des données à 0 !!
Voici mon crontab :
*/2 * * * * /usr/bin/mrtg /etc/mrtg.cfg
*/2 * * * * echo "test" >> /root/test.txt
Le cron s'execute bien vu que j'ai du texte dans le fichier test.txt, mais les graphes s'actualisent comme je l'ai dis avec des valeurs nulles.
J'ai ensuite essayé de contourner le problème en faisant executer par le crontab un script shell appelé mrtg.cron, avec les bonnes permissions:
#!/bin/bash
/usr/bin/mrtg /etc/mrtg.cfg (aussi essayé `/usr/bin/mrtg /etc/mrtg.cfg`)
echo "test" >> /root/test.txt
avec le crontab correspondant :
*/2 * * * * /root/mrtg.cron
Toujours le même problème !
Quelqu'un aurait il une idée?
Merc!
Message édité par doudou162 le 06-05-2007 à 13:43:49