Précédent   Forum des professionnels en informatique > Systèmes > Linux > Système
Système Vos questions autour de l'administration système
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/12/2011, 13h52   #1
Membre régulier
 
Inscription : octobre 2010
Messages : 253
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 253
Points : 92
Points : 92
Par défaut script cron qui ne se lance pas

Bonjour,

Je tente de mettre en place un script cron sur mon serveur mais ce dernier ne se lance pas, je veux lancer un script php toutes les 2mn (pour le tester), mais je ne recois pas de mail et mon script n’apparaît pas dans les logs, voici le code:

Code :
1
2
MAILTO=monmail@gmail.com
*/2 * * * * lynx -dump http://monsite/test/mycron.php
J'ai lu qu'il fallait cette syntaxe pour les serveurs apache.

Merci !
student_php est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 16/12/2011, 15h06   #2
Membre actif
 
Homme
Inscription : avril 2004
Messages : 91
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2004
Messages : 91
Points : 154
Points : 154
C'est ta crontab que tu as mise ?
si oui je défiirai la variable dans un script avec :
contenu du script
Code :
1
2
MAILTO=monmail@gmail.com
/chemin_absolu/lynx -dump http://monsite/test/mycron.php
contenu de la crontab :
Code :
*/2 * * * * /chemin_absolu/monscript.sh
__________________
First, they ignore you. Then, they laught at you.Then, they fight you. Then, you win.

Mohandas Gandhi
dokho est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 16/12/2011, 16h25   #3
Membre régulier
 
Inscription : octobre 2010
Messages : 253
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 253
Points : 92
Points : 92
J'ai mal comprit le fonctionnement donc j'ai mit dans ma crontab:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
 
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 
# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
*/2 *   * * * /var/www/new/ludovic/test/mycron.php
#
Ce que j'ai ajouté est juste la dernière ligne avec le script php, cela est-il suffisant ou suis-je oblige de passer par un script .sh ?

Merci !
student_php est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 16h31   #4
Expert Confirmé Sénior
 
Homme Laurent Willems
Expert Stop/Start
Inscription : septembre 2002
Messages : 2 551
Détails du profil
Informations personnelles :
Nom : Homme Laurent Willems
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Expert Stop/Start

Informations forums :
Inscription : septembre 2002
Messages : 2 551
Points : 4 271
Points : 4 271
Salut,

Quel est le contenu de ton script?

Quels sont les permissions sur ton script

Code :
1
2
 
ls -l /var/www/new/ludovic/test/mycron.php
peux-tu ajouter un log d'output pour voir s'il y a plus de détails?

Citation:
*/2 * * * * /var/www/new/ludovic/test/mycron.php > /var/www/new/ludovic/test/mycron.log 2>&1
__________________
Alea Jacta Test!
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 16/12/2011, 16h45   #5
Membre régulier
 
Inscription : octobre 2010
Messages : 253
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 253
Points : 92
Points : 92
Voici les droits: -rw-r--r--

Le script va mettre à jours mes bases de données mais pour l'instant je met juste un simple 'echo' dedans.

Mon fichier de log ne se crée pas, je suppose que c'est parce-que le script ne se lance pas.
student_php est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 16/12/2011, 16h47   #6
Expert Confirmé Sénior
 
Homme Laurent Willems
Expert Stop/Start
Inscription : septembre 2002
Messages : 2 551
Détails du profil
Informations personnelles :
Nom : Homme Laurent Willems
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Expert Stop/Start

Informations forums :
Inscription : septembre 2002
Messages : 2 551
Points : 4 271
Points : 4 271
Code :
1
2
 
chmod +x  /var/www/new/ludovic/test/mycron.php
et fournis le contenu du script comme demmandé précédemment.
__________________
Alea Jacta Test!
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 16/12/2011, 16h59   #7
Membre régulier
 
Inscription : octobre 2010
Messages : 253
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 253
Points : 92
Points : 92
Voila ce que j'ai pour le moment dans le script php:

Code :
1
2
3
<?php
        echo 'TEST';
?>
Mais je me demande si le problème vient pas d'ailleurs car j'ai également ajouté une ligne avec un simple 'echo' et je n'ai pas de fichier log associé:

Code :
1
2
57 16   * * *   root    echo "Cette commande est exécutée tous les jours à 16h57" > /var/www/new/ludovic/test/test.log
*/1 *   * * * /var/www/new/ludovic/test/mycron.php > /var/www/new/ludovic/test/mycron.log 2>&1
Je précise aussi que je vais dans '/etc/crontab' et que je ne fais pas un "crontab -e"
student_php est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 17h04   #8
Expert Confirmé Sénior
 
Homme Laurent Willems
Expert Stop/Start
Inscription : septembre 2002
Messages : 2 551
Détails du profil
Informations personnelles :
Nom : Homme Laurent Willems
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Expert Stop/Start

Informations forums :
Inscription : septembre 2002
Messages : 2 551
Points : 4 271
Points : 4 271
il faut également également spécifier l'interpréteur php dans ton script php si tu mets simplement ton script dans la crontab.

Code :
1
2
3
4
5
 
#!/chemin/complet/vers/php
<?php
 
echo 'Test!';
__________________
Alea Jacta Test!
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 16/12/2011, 17h09   #9
Membre régulier
 
Inscription : octobre 2010
Messages : 253
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 253
Points : 92
Points : 92
J'ai modifié le fichier comme suit et le script n'a toujours pas l'air de se lancer:

Code :
1
2
3
4
5
6
 
#/etc/php5/
 
<?php
        echo 'TEST';
?>
student_php est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 17h17   #10
Expert Confirmé Sénior
 
Homme Laurent Willems
Expert Stop/Start
Inscription : septembre 2002
Messages : 2 551
Détails du profil
Informations personnelles :
Nom : Homme Laurent Willems
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Expert Stop/Start

Informations forums :
Inscription : septembre 2002
Messages : 2 551
Points : 4 271
Points : 4 271
/etc/php5 est le repertoire de configuration du php pas du binaire.

tape la commande

et tu connaitras le chemin de ton interpréteur php.

exemple
n'oublie pas d'ajouter les droits d'execution à ton script php via la commande chmod +x comme indiqué précédemment.
__________________
Alea Jacta Test!
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 16/12/2011, 17h22   #11
Membre régulier
 
Inscription : octobre 2010
Messages : 253
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 253
Points : 92
Points : 92
J'ai le même chemin, j'ai ajouté le '!' je suppose que c'est un opérateur, voici donc le script, et toujours pas de fichier log après une minute d'attente, mais comme je le dis plus haut, je redirige un echo dans un autre fichier log et là aussi je n'ai rien.

Code :
1
2
3
4
5
#!/usr/bin/php
 
<?php
        echo 'TEST';
?>
est-il normale que je ne vois pas mes lancements de script quand je fais un crontab -l ?
student_php est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 17h37   #12
Expert Confirmé Sénior
 
Homme Laurent Willems
Expert Stop/Start
Inscription : septembre 2002
Messages : 2 551
Détails du profil
Informations personnelles :
Nom : Homme Laurent Willems
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Expert Stop/Start

Informations forums :
Inscription : septembre 2002
Messages : 2 551
Points : 4 271
Points : 4 271
Retire ta ligne de /etc/crontab

édite ensuite ta crontab avec crontab -e et ajoute la ligne de ton script.

ensuite tu sauves et tu pourras voir tes jobs via crontab -l
__________________
Alea Jacta Test!
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 16/12/2011, 17h52   #13
Membre régulier
 
Inscription : octobre 2010
Messages : 253
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 253
Points : 92
Points : 92
Effectivement ça fonctionne !

Merci beaucoup et bon week-end !
student_php est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h48.


 
 
 
 
Partenaires

Hébergement Web