#1 Le 16/08/2005, à 16:45
- santino
[resolu]comment utiliser crond?
salut a tous,
voila sur mon serveur cs, j'ai le spsychostats qui sont les statistiques de chaque joueur mais il faut le mettre a jour regulierement et c'est chi.... donc en cherchant j'ai trouver le systeme de cron mais pas evident du premier coup :rolleyes:
Donc j'ai trouver sa http://www.commentcamarche.net/tutlinux/lincron.php3 mais je me demandais alors si je devait avoir un script pour lanser la commande tous les jour?
la commande est la suivante:
cd /server/psy
puis ./stats.pldonc est-ce que je dois creer un script ou c'est possible comme sa?
Dernière modification par santino (Le 17/08/2005, à 11:55)
Hors ligne
#2 Le 16/08/2005, à 17:23
- chimay

Re : [resolu]comment utiliser crond?
bonjour,
une solution simple est de creer un lien symbolique qui pointe
vers ton script dans un des /etc/cron.*. Par exemple si tu veux
exécuter ton script toutes les heures :
cd /etc/cron.hourly
ln -s /chemin/complet/de/ton/script/ton_script.pl ton_script.pl
notes :
1. Vérifie que tu as des lignes semblables dans /etc/crontab :
17 * * * * root run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily
47 6 * * 7 root test -x /usr/sbin/anacron || run-parts --report /etc/cron.weekly
52 6 1 * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.monthly2. si ta machine n'est pas allumée tout le temps, installe anacron,
il se charge de compenser les heures ou ta machine est éteinte.
Dernière modification par chimay (Le 16/08/2005, à 17:23)
* Linux est écolo : le code est tout vert
* Un dauphin nage plus vite qu'un nautile nain
* Le but d'un système d'exploitation est d'exploiter l'ordinateur, pas l'utilisateur
* Un ordinateur est composé d'un piano, d'une mangeuse de fromage, d'une mémoire d'éléphant, d'une dalle, d'un lecteur de galette, et d'un moulin, le célèbre moulin de la galette
Hors ligne
#3 Le 16/08/2005, à 17:55
- santino
Re : [resolu]comment utiliser crond?
ok je te remercie mais pour une simple commande ./stats, je dois creer un script? ou il sait le faire tout seul?
Dernière modification par santino (Le 16/08/2005, à 17:56)
Hors ligne
#4 Le 16/08/2005, à 19:18
- jdloic
Re : [resolu]comment utiliser crond?
Inutile de faire un script,
Il suffit de faire un cron qui exécute : cd /server/psy; ./stats.pl
Tape 'crontab -e' pour saisir la ligne complète du cron.
Hors ligne
#5 Le 16/08/2005, à 20:03
- santino
Re : [resolu]comment utiliser crond?
donc si je comprend bien, je tape
crontab -eje lui rentre la ligne
30 23 * * * df >>cd /server/psy; ./stats.plet sa roule? ou j'ai fait une erreur?
Hors ligne
#6 Le 16/08/2005, à 20:20
- gqs

Re : [resolu]comment utiliser crond?
ça roule ![]()
Hors ligne
#7 Le 16/08/2005, à 20:40
- santino
Re : [resolu]comment utiliser crond?
le seul pb, c'est que je suis incapable sa sauvegarder le fichier??? j'ai essayer x X et autre masi il ne reagit pas?? la ligne est entre, en bas j'ai un petit chapeau X quitter ..... mais impossible de quitter
:/
Hors ligne
#8 Le 16/08/2005, à 21:09
- Uggy

Re : [resolu]comment utiliser crond?
c'est CTRL+x
car c'est sans doute nano ton editeur par defaut..
tu peux le changer en faisant un
sudo update-alternatives --config editor
Dernière modification par Uggy (Le 16/08/2005, à 21:11)
Hors ligne
#9 Le 16/08/2005, à 21:34
- santino
Re : [resolu]comment utiliser crond?
je te remercie uggy les bon tuyau impeccable sa marche
Hors ligne
#10 Le 16/08/2005, à 22:23
- santino
Re : [resolu]comment utiliser crond?
alors sa marche pas snif snif........
Bon j'ai essayer
13 23 * * * df >>./server/psy/stats.plpuis
13 23 * * * df >>/server/psy ./stats.plpuis
13 23 * * * df >>cd /server/psy ./stats.plrien a faire, le processus s'execute pas et tout le monde a le droit d'esecuter le processus, pas de pb de droit?????
Hors ligne
#11 Le 16/08/2005, à 23:23
- Uggy

Re : [resolu]comment utiliser crond?
heuuu le df dans ton lien c'est juste un exemple de commande... oublie df..
-Tu copies par exemple stats.pl dans /usr/bin
donc tu as /usr/bin/stats.pl par exemple..
-Dans la cron tu mets:
13 23 * * * /usr/bin/stats.pl
voir eventuelement une redirection de la sortie standard vers /dev/null...
Hors ligne
#12 Le 17/08/2005, à 01:28
- jdloic
Re : [resolu]comment utiliser crond?
heuuu le df dans ton lien c'est juste un exemple de commande... oublie df..
-Tu copies par exemple stats.pl dans /usr/bin
donc tu as /usr/bin/stats.pl par exemple..
-Dans la cron tu mets:
13 23 * * * /usr/bin/stats.plvoir eventuelement une redirection de la sortie standard vers /dev/null...
Plutôt:
13 23 * * * cd /server/psy; ./stats.pl
Hors ligne
#13 Le 17/08/2005, à 09:28
- Uggy

Re : [resolu]comment utiliser crond?
Plutôt:
13 23 * * * cd /server/psy; ./stats.pl
La commande cd /server/psy; ./stats.pl execute au final le fichier /server/psy/stats.pl
Donc autant éxecuter directement /server/psy/stats.pl
Hors ligne
#14 Le 17/08/2005, à 09:41
- santino
Re : [resolu]comment utiliser crond?
alors deja merci les gas de votre aide,
mais....................;snif et resnif................ sa marrrrrche pas
bon j'ai fait
crontab -epuis
35 10 * * * cd /server/psy; ./stats.plet j'ai mi 10h35 pour voir si sa marche et niet niet il processus se lanse pas? alors que si j'essai manuellement y a aucun pb?
Hors ligne
#15 Le 17/08/2005, à 10:36
- Uggy

Re : [resolu]comment utiliser crond?
tu veux pas essayer ma commande apparament...
Hors ligne
#16 Le 17/08/2005, à 10:43
- santino
Re : [resolu]comment utiliser crond?
oups desoler uggy, j'avais vu sa
La commande cd /server/psy; ./stats.pl execute au final le fichier /server/psy/stats.pl
Donc autant éxecuter directement /server/psy/stats.pl
donc je me suis dit que c'etait pareil mais je viens de tester et snif sa marche pas, j'ai copier stats.pl ds /usr/bin
et j'ai entre
41 11 * * * /usr/bin/stats.plet rien mais je devrait pas plutot crer un lien symbolique entre stats.pl dans /usr/bin et mon dossier /server/psy/ ou se trouve les fichiers?
Hors ligne
#17 Le 17/08/2005, à 10:47
- chimay

Re : [resolu]comment utiliser crond?
ok je te remercie mais pour une simple commande ./stats, je dois creer un script? ou il sait le faire tout seul?
stats.pl c'est déjà un script non ?
donc simplement :
ln -s /etc/cron.hourly/stats.pl /server/psy/stats.pl
sinon, si ca marche pas, essaie la commande mail dans un terminal : normalement il t'envoie
un mail local (rien à voir avec tes mails habituels) si il ne parvient pas à exécuter la commande
si c le cas, raconte-nous le message d'erreur ![]()
Dernière modification par chimay (Le 17/08/2005, à 10:48)
* Linux est écolo : le code est tout vert
* Un dauphin nage plus vite qu'un nautile nain
* Le but d'un système d'exploitation est d'exploiter l'ordinateur, pas l'utilisateur
* Un ordinateur est composé d'un piano, d'une mangeuse de fromage, d'une mémoire d'éléphant, d'une dalle, d'un lecteur de galette, et d'un moulin, le célèbre moulin de la galette
Hors ligne
#18 Le 17/08/2005, à 10:47
- farf

Re : [resolu]comment utiliser crond?
L'utilisateur qui doit lancer le stats.pl, c'est qui ?
Parce qu'à tout hasard, si c'est root, faudrait peut être faire un sudo crontab -e avant d'inscrire la ligne, non ?
'fin j'dis ça, j'dis rien...
Hors ligne
#19 Le 17/08/2005, à 11:06
- Uggy

Re : [resolu]comment utiliser crond?
essaye de mettre
41 11 * * * /usr/bin/stats.pl 2>&1 > /home/user/toto
puis regarde /home/user/toto pour voir si il y a des trucs dedans...
Sinon si la cron échoue, normalement elle envoit un mail a l'utilisateur local je crois...
a tout hasard un sudo /etc/init.d/crond restart mais je ne sais pas si c'est nécessaire
Hors ligne
#20 Le 17/08/2005, à 11:08
- Uggy

Re : [resolu]comment utiliser crond?
si tu fais juste /usr/bin/stats.pl direct ca marche ou pas ?
Hors ligne
#21 Le 17/08/2005, à 11:12
- chimay

Re : [resolu]comment utiliser crond?
heu sinon si c'est pour un crontab local à l'utilisateur, il ne faut pas simplement faire :
* gedit ~/crontab
* insérer la ligne
* sauver quitter
* crontab ~/crontab (SANS le -e, c'est pour que crond prenne le fichier en compte)
en tout cas je procède ainsi et ca roule ![]()
Dernière modification par chimay (Le 17/08/2005, à 11:14)
* Linux est écolo : le code est tout vert
* Un dauphin nage plus vite qu'un nautile nain
* Le but d'un système d'exploitation est d'exploiter l'ordinateur, pas l'utilisateur
* Un ordinateur est composé d'un piano, d'une mangeuse de fromage, d'une mémoire d'éléphant, d'une dalle, d'un lecteur de galette, et d'un moulin, le célèbre moulin de la galette
Hors ligne
#22 Le 17/08/2005, à 11:15
- santino
Re : [resolu]comment utiliser crond?
nan dsl uggy, il veut pas, et apres avoir envoyer le fichier stats.pl dans /usr/bin/ il voulait meme plus executer la commande ./stats.pl manuellement? j'avais droit a une tonne d'erreur
pour les droit, c'est mon utilisateur qui execute le procesus et un simple ./stats.pl lanse le processus donc pas de pb de droit
je vais essayer uggy et je te dis se que sa donne
Hors ligne
#23 Le 17/08/2005, à 11:18
- santino
Re : [resolu]comment utiliser crond?
shimay, il n'existe pas sur mon pc de fichier ~/crontab, donc je dois le creer?
sinon c'est koi ta commande
* crontab ~/crontab
je voi aps bien comment on fait sa lol?
Hors ligne
#24 Le 17/08/2005, à 11:19
- Uggy

Re : [resolu]comment utiliser crond?
c'est mon utilisateur qui execute le procesus et un simple ./stats.pl lanse le processus donc pas de pb de droit
ok...
-tu mets ton script dans /home/user/tonScript.pl
-tu executes /home/user/tonScript.pl pour voir si c'est bien ok.. (pas de pb de droits etc..)
-en etant loggué sous ton user, tu fais crontab -e
-tu rajoutes la ligne 41 11 * * * /home/user/tonScript.pl
-ca devrait etre bon..
Hors ligne
#25 Le 17/08/2005, à 11:40
- santino
Re : [resolu]comment utiliser crond?
alors, j'ai copier le fichier stats.pl de lancement de l'application puis j'ais fait un petit ./stats.pl depuis /home/santino et sa donne sa:
santino@ubuntu:~ $ ./stats.pl
Can't locate util.pm in @INC (@INC contains: /home/santino /etc/perl /usr/local/lib/perl/5.8.4 /usr/local/share/perl/5.8.4 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at ./stats.pl line 11.
BEGIN failed--compilation aborted at ./stats.pl line 11.donc sa a pa l'air d'alle lol
mais mon script stats.pl se sert d'autre fichier qui se trouve dans /server/psy/ donc il ne doit pas trouver le chemin /server/psy tout seul??? dc le pb vient peu etre de la?
Dernière modification par santino (Le 17/08/2005, à 11:41)
Hors ligne