probleme avec crontab

probleme avec crontab - Linux et OS Alternatifs

Marsh Posté le 04-06-2002 à 11:48:40    

salut, j essay de lancer un :
 
squid -k rotate dans mon fichier crontab et cela ne marche pas.
 
voila mon fichier crontab:
 
 

Citation :


SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
 
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
* * * * * echo $PATH > /tmp/machin.test
*/1 * * * * squid -k rotate
#30 11 * * * cat /cache_log/access.log.6 /cache_log/access.log.5 /cache_log/access.log.4 /cache_log/access.log.3 /cache_log/access.log.2 /cache_log/access.log.1 /cache_log/access.log.0  | nice -39 calamaris -a -w > /cache_log/day.html

 
 
 
voila ce ke je recoi par mail:

Citation :


From squid  Tue Jun  4 11:39:00 2002
Date: Tue, 4 Jun 2002 11:39:00 +0200
From: root@proxy1.domain.com (Cron Daemon)
To: root@proxy1.domain.com
Subject: Cron <squid@proxy1> -k rotate
X-Cron-Env: <SHELL=/bin/bash>
X-Cron-Env: <PATH=/sbin:/bin:/usr/sbin:/usr/bin>
X-Cron-Env: <MAILTO=root>
X-Cron-Env: <HOME=/>
X-Cron-Env: <LOGNAME=squid>
 
/bin/bash: - : unrecognized option
Usage: /bin/bash [GNU long option] [option] ...
 /bin/bash [GNU long option] [option] script-file ...
GNU long options:
 --debug
 --dump-po-strings
 --dump-strings
 --help
 --init-file
 --login
 --noediting
 --noprofile
 --norc
 --posix
 --rcfile
 --rpm-requires
 --restricted
 --verbose
 --version
 --wordexp
Shell options:
 -irsD or -c command  (invocation only)
 -abefhkmnptuvxBCHP or -o option


---------------
#mais-chut
Reply

Marsh Posté le 04-06-2002 à 11:48:40   

Reply

Marsh Posté le 04-06-2002 à 11:53:37    

et quand tu lances ton squid -k rotate  en ligne de commande , il fonctionne ?


---------------
c'est etonnant comme on peut se passer de l'essentiel du moment qu'on a les petits plaisirs de la vie
Reply

Marsh Posté le 04-06-2002 à 12:03:31    

Logique, tu utilises Vixie-cron, il me semble. Regarde ta ligne :

Code :
  1. */1 * * * * squid -k rotate


 
Ce que tu veux, c'est lancer la commande squid -k rotate toutes les minutes. C'est en effet la bonne syntaxe pour le cron classique. Sauf que là, il y a un champ en plus, regarde la première ligne :  

Code :
  1. 01 * * * * root run-parts /etc/cron.hourly


 
root n'est pas une commande, mais le nom de l'utilisateur qui exécute la commande run-parts.
Donc la ligne que tu mets dans ta table lui demande d'exécuter dans un shell bash -k rotate sous l'identité squid. Et -k n'est pas une option de bash, ce qui explique le message.
Puisque par défaut, cron exécute la commande indiquée dans un environnement bash. Là, c'est comme si tu lançais bash -k rotate toutes les minutes.
 
Il faut que tu rajoutes l'identité de l'utilisateur sous laquelle doit être lancé squid.
C'est une Debian, ta distrib, non ?


Message édité par Jak le 06-04-2002 à 12:06:54
Reply

Marsh Posté le 04-06-2002 à 12:07:07    

tiens , à ce propos , j'ai 2 crontab , si on peut dire ça comme ça .  
 
un /etc/crontab qui ressemble à 2 gouttes d'eau à celui de z-cool  et un autre quand je fais un crontab -e ( en root )
 
la seule chose qui differencie ces 2 fichiers est le home ( le premier en /  et le 2eme en /root  )
 
pourquoi ces 2 differences ?  à noter que dans le 2eme je specifie directement le script à executer (pas de proprio )


Message édité par Poltergeist le 06-04-2002 à 12:08:02

---------------
c'est etonnant comme on peut se passer de l'essentiel du moment qu'on a les petits plaisirs de la vie
Reply

Marsh Posté le 04-06-2002 à 12:09:11    

Je n'ai pas de fichier /etc/crontab.

Reply

Marsh Posté le 04-06-2002 à 12:09:26    

quoique , en me relisant , le home=/root donne directement le proprio :??:  ce qui expliquerait qu'on specifie un user dans le /etc/crontab vu qu'il n'y a pas de home precis ?


---------------
c'est etonnant comme on peut se passer de l'essentiel du moment qu'on a les petits plaisirs de la vie
Reply

Marsh Posté le 04-06-2002 à 12:18:39    

man is beautiful :
 
" Cron recherche dans le répertoire /var/spool/cron,  des  fichiers  de crontab  ayant  des  noms  existants  dans  /etc/passwd. Les fichiers trouvés  sont  chargés  en   mémoire. Cron recherche   également /etc/crontab, qui a un format différent (voir crontab(5)). "


---------------
c'est etonnant comme on peut se passer de l'essentiel du moment qu'on a les petits plaisirs de la vie
Reply

Marsh Posté le 04-06-2002 à 13:55:18    

Poltergeist a écrit a écrit :

et quand tu lances ton squid -k rotate  en ligne de commande , il fonctionne ?  




 
 
oui il marche bien


---------------
#mais-chut
Reply

Marsh Posté le 04-06-2002 à 14:02:19    

Z_cool a écrit a écrit :

 
 
 
oui il marche bien  




 
t'as suivi le conseil de Jak ?


---------------
c'est etonnant comme on peut se passer de l'essentiel du moment qu'on a les petits plaisirs de la vie
Reply

Marsh Posté le 04-06-2002 à 14:08:29    

ba je viens d essayer cela:
 

Citation :


SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
 
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
*/01 * * * * root squid -k rotate


 
 
mais j ai l impression ke le crond est en rqd pqrceque je recoit plus aucun message en mail ni rien du tout
 
 
edit : ma distrib est une Red Hat 7.2


Message édité par Z_cool le 06-04-2002 à 14:13:48

---------------
#mais-chut
Reply

Marsh Posté le 04-06-2002 à 14:08:29   

Reply

Marsh Posté le 04-06-2002 à 14:17:25    

Squid est-il censé renvoyer des messages sur la sortie standard ? Si non, c'est normal que tu ne reçoives rien.
Au pire, pour t'assurer que le cron fonctionne, rajoute une ligne du type
 

Code :
  1. */1 * * * * root date >> /var/log/test_a_la_cron


 
ce qui devrait écrire toutes les minutes la date dans le fichier /var/log/test_a_la_cron.

Reply

Marsh Posté le 04-06-2002 à 14:38:27    

ba squid est sense me fair un bakup des fichiers de log et la rien ne se passe
 
 
d ailleur, j ai rien de plus qu avec ta commande et pourtant, j ai redemarrer le server


---------------
#mais-chut
Reply

Marsh Posté le 04-06-2002 à 17:02:13    

j ai trouve :
 
 
en fait, il fo lancer squid -k rotate avec le user squid


Message édité par Z_cool le 06-04-2002 à 17:05:08

---------------
#mais-chut
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed