Crontab - Aucune execution

Résolu/Fermé
cave2180 Messages postés 425 Date d'inscription mardi 24 août 2010 Statut Membre Dernière intervention 5 mars 2024 - 12 août 2014 à 13:02
gnugo Messages postés 145 Date d'inscription lundi 6 septembre 2010 Statut Membre Dernière intervention 8 décembre 2014 - 12 août 2014 à 19:48
Bonjour,

J'essaye de faire fonctionner un script en tache cron, mais rien ne fonctionne.
Voici l'affichage de mon crontab -e :
# m h dom mon dow command
00 02 * * * ./root/tsinctstop.sh
00 09 * * * ./root/tsinctstart.sh


Tous les jours a 2h et tous les jours à 9h.
Chaque script est en chmod 777.
Un de mes script :
#!/bin/sh
service teamspeakinct stop

1 réponse

dubcek Messages postés 18752 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 3 octobre 2024 5 618
12 août 2014 à 14:21
hello
récupérer les messages et erreurs
00 02 * * * ./root/tsinctstop.sh >> /tmp/log 2>&1
00 09 * * * ./root/tsinctstart.sh >> /tmp/log 2>&1
0
gnugo Messages postés 145 Date d'inscription lundi 6 septembre 2010 Statut Membre Dernière intervention 8 décembre 2014 46
12 août 2014 à 14:31
Salut
Pourquoi ./root et pas juste /root ?

Sinon oui le mieux est de voir ce que dit le log, on saura tout de suite
0
cave2180 Messages postés 425 Date d'inscription mardi 24 août 2010 Statut Membre Dernière intervention 5 mars 2024 6
12 août 2014 à 16:58
/bin/sh: ./root/tsinctstop.sh: No such file or directory

/bin/sh: ./root/tsinctstart.sh: No such file or directory

Pourtant quand on regarde mon script, il y a rien d'incorrect.
0
gnugo Messages postés 145 Date d'inscription lundi 6 septembre 2010 Statut Membre Dernière intervention 8 décembre 2014 46
12 août 2014 à 17:40
Si, le chemin du fichier.

Pourquoi avoir mis un point avant le /root ? à mon avec c'est ça si ton fichier se trouve bien dans /root
0
cave2180 Messages postés 425 Date d'inscription mardi 24 août 2010 Statut Membre Dernière intervention 5 mars 2024 6
12 août 2014 à 18:31
J'avais mis le point car pour exécuter des scripts il faut faire ./script.ext

En enlevant le point :

/root/tsinctstop.sh: line 2: service: command not found

/root/tsinctstart.sh: line 2: service: command not found

#!/bin/sh
service teamspeakinct stop

#!/bin/sh
service teamspeakinct start
0
gnugo Messages postés 145 Date d'inscription lundi 6 septembre 2010 Statut Membre Dernière intervention 8 décembre 2014 46
12 août 2014 à 18:52
Il faut faire ./script uniquement quand tu te trouves dans le dossier du script.
Là il s'agit du répertoire /root ce n'est plus pareil. Par exemple /root/./script.sh serait correct même si inutile.

Donc là bah y'a rien à dire ça fonctionne, ton script est exécuté.



Mais on dirait qu'il ne trouve pas la commande service donc soit
-remplace la commande service par /sbin/service dans ton script
-soit charge l'environnement local via la crontab avant d'exécuter ton script :

00 02 * * * . /root/.bash_profile; /root/tsinctstop.sh >> /tmp/log 2>&1
00 09 * * * . /root/.bash_profile; /root/tsinctstart.sh >> /tmp/log 2>&1
Dans ce cas le . équivaut à la commande source
0