[resolu]tache cron avec webmin

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


casa
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 206
Inscription: Dim Avr 13, 2003 13:56

[resolu]tache cron avec webmin

Message le Mer Nov 09, 2005 17:52

Bonjour

total débutant sur dédié et linux, je n'utilise que Webmin pour le moment;

j'essai de définir une tache cron comme ceci:


Code: Tout sélectionner
S'exécute en tant que: www-data    
Nom de la tâche : tache1   
Entrée de la commande:

[-x/usr/bin/php4] && /usr/bin/php4 /var/www/*****/www/***/***.php

et au test j'ai toujours:
"/bin/sh: line 1: tache1: command not found"

Si qqun avait une piste?
casa
Dernière édition par casa le Lun Nov 14, 2005 16:36, édité 1 fois.

all-black
WRInaute discret
WRInaute discret
 
Messages: 61
Inscription: Sam Oct 29, 2005 16:33

Message le Mer Nov 09, 2005 18:57

Est ce que tu peux dire de quel linux il s'agit. Ou plutôt je vais dire

Moi je peux t'aider si c'est du Debian et en ligne de commande.
Je veux dire 'vi crontab'. Je me sers de Webmin que pour regarder les fichiers de logs.


casa
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 206
Inscription: Dim Avr 13, 2003 13:56

Message le Mer Nov 09, 2005 19:52

merci
c'est une Debian GNU/Linux 3.1

all-black
WRInaute discret
WRInaute discret
 
Messages: 61
Inscription: Sam Oct 29, 2005 16:33

Message le Mer Nov 09, 2005 21:04

Donc je te dis moi comment je fais après on verra ou tu coince.

Je me connecte avec Putty.

J'édite le fichier /etc/crontab avec vi.
vi /etc/crontab

Il suffit d'ajouter une ligne dans ce fichier.
C'est tout ce qu'il y a faire sous debian.

Ci dessous le texte d'une ligne que j'ai ajouté pour exécuter un script php toutes les heures

0 * * * * vep /usr/local/bin/php /home/web/mon-site/admin/cron_monitoring.php >> /dev/null


vep est ici un utilisateur qui a les droits d'exécuter le script.

Dis moi maintenant à quel endroit tu coinces, si c'est le cas.


jeanluc
WRInaute accro
WRInaute accro
 
Messages: 2658
Inscription: Lun Mai 03, 2004 14:48

Message le Mer Nov 09, 2005 21:15

Bonjour,

J'emploie crontab avec Webmin et, pour ce que j'en fais, c'est hyper-simple. Chez moi, c'est en anglais et mon programme est en Perl, mais tu devrais pouvoir adapter facilement.

Voici un exemple :
Execute cron job as manager Active? (*) Yes ( ) No
Command cd /usr/lib/cgi-bin/operations; perl op1.pl orders_test.txt
Input to command


"Command" correspond à la ligne de commande et "Input to command" permet d'entrer des réponses au prompt de l'application (je ne l'utilise pas).

Jean-Luc


casa
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 206
Inscription: Dim Avr 13, 2003 13:56

Message le Mer Nov 09, 2005 21:56

Merci a vous 2

j'essaie et vous confirme quand ça marche
casa


casa
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 206
Inscription: Dim Avr 13, 2003 13:56

Message le Lun Nov 14, 2005 16:35

j'ai enfin une solution qui a l'air de marcher:
avec putty
crontab -e
les heures mn jours ect.. plus
Code: Tout sélectionner
/usr/bin/php4 /var/www/MONSITE/www/MONSCRIPT.php

et ça marche aussi avec webmin:
il faut mettre "/usr/bin/php4 /var/www/MONSITE/www/MONSCRIPT.php"
dans le champs Nom et laisser vide le champs du script

frenchy371
Nouveau WRInaute
 
Messages: 4
Inscription: Lun Jan 30, 2006 17:38

parametre de script php dans tache cron

Message le Lun Jan 30, 2006 17:47

Bonjour
est ce que c'est possible de mettre un parametre php dans la commande de la tache cron avec webmin
on pourrait avoir ainsi dans le champ nom :
/usr/bin/php4 /var/www/MONSITE/www/MONSCRIPT.php?param=french

j'ai essayé mais ca ne marche pas

comment faire ?

Merci


casa
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 206
Inscription: Dim Avr 13, 2003 13:56

Re: parametre de script php dans tache cron

Message le Mar Jan 31, 2006 8:19

frenchy371 a écrit:Bonjour
est ce que c'est possible de mettre un parametre php dans la commande de la tache cron


je ne sais pas :(

par contre il est plus simple de faire un script adapté à la tache cron en intégrant la variable "french"

l'exemple ci dessus est ok pour une distribution Debian, donc vérifier que les fichiers php et sites sont bien aux meme endroits que l'exemple.

Entre /usr/bin/php4 / ET /var/www/ il y a un espace

casa


Bourriquet
WRInaute passionné
WRInaute passionné
 
Messages: 635
Inscription: Lun Sep 19, 2005 22:10

Message le Mar Jan 31, 2006 8:29

Le plus simple est de mettre directement l'interprêteur PHP dans ton script

Pour cela, édite ton script en rajoutant cette ligne en toute première ligne

Code: Tout sélectionner
#!/usr/bin/php4 -q


L'option -q permet de supprimer les entêtes HTTP qui sont inutiles en ligne de commande.

Ensuite, exécute cette commande :
Code: Tout sélectionner
chmod +x /var/www/MONSITE/www/MONSCRIPT.php


Celle-ci rendra ton script exécutable. Il prendra la valeur de l'interprêteur (première ligne) et s'en servira pour s'autoparser.

Si tu veux tu peux même virer l'extention php, qui sert sous linux uniquement à dire à apache quels fichiers ils faut parser. Comme là tu lui indiques en premier ligne, c'est pas la peine de la mettre

Ensuite pour le passage d'argument, comme tu es en ligne de commande tu dois passer par les variables globales $argv et $argc.

$argc est un entier qui contient le nombre de paramètres passés.
$argv est un array contenant chacun des paramètres suivant le format suivant :

./tonscript.php parametre1 parametre2 parametre3

Tu lui passer en paramètre1 une "query string" (id=pouet&page=prout par exemple) mais là c'est à toi de splitter la chaine décemment :)

Dans ton crontab tu n'as plus besoin de faire figurer l'interprêteur PHP.

frenchy371
Nouveau WRInaute
 
Messages: 4
Inscription: Lun Jan 30, 2006 17:38

Message le Mar Jan 31, 2006 12:02

Bonjour

Merci pour ton aide

c'est exactement ce qu'il me fallait

une petite précision quand même:

dans argv[0] je retouve :
/usr/bin/php4 /var/www/MONSITE/www/MONSCRIPT.php

dans argv[1] je retrouve :
param1

donc argv ne comporte pas que les paramètres comme je le pensais

en tout cas merci encore

A plus


Bourriquet
WRInaute passionné
WRInaute passionné
 
Messages: 635
Inscription: Lun Sep 19, 2005 22:10

Message le Mer Fév 01, 2006 0:47

Vi c'est comme pour n'importe quel programme, par exemple en C++ :

argv[0] : nom du programme
argv[1...N] : 1 à Nième paramètre passé

et argc : nombre de paramètres passés (sans compter le nom du programme)


Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités