Problème crontab

Salut à tous,

J’essaye de planifier une commande avec crontab, pour mes tests la commande est censée s’éxécuter toutes les minutes.

Voilà comment je procède, les tests que j’ai déjà effectué, et les messages du journal d’erreur :

Je planifie les tâches :

[code]# crontab -e

*/1 * * * * /home/projet/open2300/open2300-1.10/mysql2300 //la commande précédente fonctionnant en //temps normal
*/1 * * * * /usr/bin/touch ~/testcrontab //pour tester le fonctionnement avec une commande classique
*/1 * * * * /home/projet/open2300/open2300-1.10/script.sh //le script fonctionne en temps normal et //exécute la première commande

//j’ai essayé d’autres variantes :

*/1 root /home/projet/open2300/open2300-1.10/script.sh
*/1 root sh /home/projet/open2300/open2300-1.10/
[/code]
//rien de tout celà ne fonctionne…
//J’ai aussi créée des tâches pour l’utilisateur projet, sans succès.

Je jette un coup d’oeil dans syslog :

Surprise ! Les commandes sont lancées toutes les minutes, exemple de syslog :

Feb 15 10:38:02 weather crontab[3650]: (root) CMD (root sh /home/projet/open2300/open2300-1.10/script.sh) Feb 15 10:38:02 weather crontab[3652]: (root) CMD (/usr/bin/touch ~/testcrontab)
//Et celà pour chaque commande commande, sans message d’erreur.

Par acquis de conscience, je regarde si le daemon cron est bien lancé :

Et il semble bien lancé :

Je décide tout de même de le redémarrer :

[code]# killall cron

rm -f /var/run/crond.pid

/etc/init.d/cron start

=>Starting periodic command scheduler: crond.[/code]

Mais mes commandes ne se lance hélas, toujours pas.

Quelqu’un a-t-il une piste ou une solution ?

Merci d’avance !
Quagga.

Cron envoie la sortie des commandes par mail. C’est là que tu verras les messages d’erreurs.
Pour lire les mails systèmes, tu peux utiliser :

Sous debian, les mails de root sont redirigés vers le premier utilisateur créé lors de l’installation . Donc c’est avec cet utilisateur qu’il faut lancer mutt pour avoir les envois de la crontab de root.

Salut,

J’ai installé mutt.

Voici le contenu de crontab :

[code]$ crontab -l

*/1 * * * * root /home/projet/open2300/open2300-1.10/mysql2300
*/1 * * * * /usr/bin/touch ~/testcrontab [/code]

J’ai essayé avec uniquement la ligne suivante :

Je n’obtenais pas d’erreur dans Mutt, mais le fichier ne se crée toujours pas.

J’ai rajouté la ligne suivante :

Et j’obtiens ce message d’erreur dans Mutt :

Je décide alors de retirer “root” de la commande, mais toujours la même erreur !

Une idée ?
Merci pour ta réponse kna.

Petite rectification :

Je n’avais pas branché le périphérique :mrgreen: dont la commande doit faire une acquisition :

Une fois branché j’obtiens toujours le même message d’erreur, lorsqu’il y a root dans la commande :

*/1 * * * * root /home/projet/open2300/open2300-1.10/mysql2300

Et lorsque j’enlève root ;

*/1 * * * * /home/projet/open2300/open2300-1.10/mysql2300  

J’obtiens l’erreur suivante :

1045: Access denied for user 'open2300'@'localhost' (using password: YES)

Je tente un petit chmod tout en puissance :

$ chmod 777 open2300

Mais l’erreur persiste !

Du nouveau,

Le problème est mieux ciblé, il ne vient pas vraiment de crontab en fait :

J’ai testé la commande crontab suivante :

Et le contenu du répertoire s’affiche bien toutes les minutes.

Le problème serait donc au niveau de mysql (la commande que j’exécute stocke les données d’un capteur dans une base mysql). Le problème doit venir des droits d’accès des utilisateurs sql, ou de quelque chose du genre.

Si quelqu’un sait comment donner des droits à un utilisateur en mysql, je suis preneur !!!

Up !! :smt006

j’ai ajouté les droits d’utilisateur avec la commande grant à l’utilisateur open2300, je vérifie dans phpmyadmin, l’utilisateur open2300 a bien en localhost tout les droits (excepté celui d’en attribuer).

Mais voilà, lorsque je lance ma commande : toujours le même message d’erreur…

Un petit récapitulatif :

J’utilise une suite logicielle open2300, une commande mysql2300 me permet d’ajouter des lignes à une bdd.

Lorsque je suis en root :

./mysql2300

Fonctionne !

En user (utilisateur : projet) :

./mysql2300

Ne fonctionne pas !

Message d’erreur obtenu :

1045: Access denied for user 'open2300'@'localhost' (using password: YES)

Je suppose que open2300 est un utilisateur SQL, mais je ne vois pas d’où il provient…

Pourquoi lorsque je lance la commande avec l’utilisateur debian, il me refuse l’accès à un utilisateur SQL ?

Comment y remédier ?

Merci d’avance.

[quote=“quagga”]
Message d’erreur obtenu :

Je suppose que open2300 est un utilisateur SQL, mais je ne vois pas d’où il provient…[/quote]

Sans doute parce que ton script mysql2300 tente une connexion en utilisant le user mysql2300.

Le message d’erreur te dit que le mdp n’est pas conforme. Regarde dans ton script ou son fichier de config. Sinon tu devras créer un nouveau mdp en ligne de commande ou autre client mysql.