Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1772 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs

  probleme de cron

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme de cron

n°676934
syl94
Ni!
Posté le 12-05-2005 à 21:51:51  profilanswer
 

Hello
 
j'ai placé dans ma crontab 3 scripts bash dans un contexte d'utilisation de tethereal pour sniffer des paquets sur une connexion FTP qui s'effectue depuis une IP fixe vers mon serveur.
 
Mon premier script lance tethereal via screen à 9h du matin.
Mon second script change le owner/group toutes les minutes des dumps effectués par tethereal afin qu'il soit lisible par un autre user
Mon troisieme script stop tethereal à 17h
 
Si j'execute mes scripts à la main, aucun probleme, tout se passe normalement.
 
Si je laisse tourner ma crontab, le script qui lance tethereal s'execute, et le script qui change le owner/group sur les dumps fonctionne (j'ai activé le log de cron). Puis, au bout de 3 à 4 minutes, plus rien. Mon screen avec tethereal est toujours dans les process mais un `ps aux | grep cron` m'indique que cron ne tourne plus ! Je dois alors le relancer via /etc/init.d, et ca repart pour fonctionner pendant 3 à 4 minutes, et rebelote, plantage ..  
 
Je precise que j'ai mis le chemin complet vers les commandes dans mes script (/usr/bin/tethereal, /usr/bin/screen,...), les scripts sont bien executables.
 
OS : Debian Stable.
 
Merci!


Message édité par syl94 le 12-05-2005 à 21:53:05
mood
Publicité
Posté le 12-05-2005 à 21:51:51  profilanswer
 

n°676941
jlighty
Posté le 12-05-2005 à 22:00:05  profilanswer
 

Citation :

j'ai activé le log de cron


justement que t'indique les logs de cron ?

n°676962
syl94
Ni!
Posté le 12-05-2005 à 22:12:51  profilanswer
 

rien justement .. je vois bien l'évenement de l'execution du script qui change les permissions sur les fichiers, puis plus rien ... pas d'erreur ou de warning, ni dans /var/log/messages ou /var/log/syslog


Message édité par syl94 le 12-05-2005 à 22:13:04
n°676964
jlighty
Posté le 12-05-2005 à 22:13:28  profilanswer
 

tu pourrais me montrer le contenu de la crontab ?

n°676967
syl94
Ni!
Posté le 12-05-2005 à 22:17:02  profilanswer
 

Code :
  1. # /etc/crontab: system-wide crontab
  2. # Unlike any other crontab you don't have to run the `crontab'
  3. # command to install the new version when you edit this file.
  4. # This file also has a username field, that none of the other crontabs do.
  5. SHELL=/bin/sh
  6. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  7. # m h dom mon dow user  command
  8. 25 6    * * *   root    test -e /usr/sbin/anacron || run-parts --report /etc/cron.daily
  9. 47 6    * * 7   root    test -e /usr/sbin/anacron || run-parts --report /etc/cron.weekly
  10. 52 6    1 * *   root    test -e /usr/sbin/anacron || run-parts --report /etc/cron.monthly
  11. #
  12. # Ethereal pour dump des connexions FTP via screen
  13. 00 09 * * * root /usr/local/libexec/ethereal.sh
  14. # Kill du screen tethereal
  15. 00 17 * * * root /usr/local/libexec/stop_ethereal.sh
  16. # change owner/group des fichiers
  17. */1 * * * * root /usr/local/libexec/chg_ower_dump.sh


Message édité par syl94 le 12-05-2005 à 22:17:24
n°676974
jlighty
Posté le 12-05-2005 à 22:24:06  profilanswer
 

le faite d'appeler chg_ower_dump toutes les minutes sachant que ethereal écrit dans ce fichier peut peut être provoquer un plantage.
Si tu changes le propriétaire du fichier uniquement quand tu appelles stop_ethereal cela fonctionne ?

n°676977
syl94
Ni!
Posté le 12-05-2005 à 22:27:45  profilanswer
 

j'ai pas testé. Le probleme est que mon client peut venir récupérer les dumps a n'importe quel moment. Cela dit, vu que c'est bancale actuellement, je vais faire le test dès demain (machine en prod).
 
Merci :)

n°676982
jlighty
Posté le 12-05-2005 à 22:32:15  profilanswer
 

ce que tu peux faire :
au lieu de sauvegarder uniquement le dump dans un seul fichier, tu le réparties sur plusieurs fichiers ("use ring buffer" )

n°676994
syl94
Ni!
Posté le 12-05-2005 à 22:39:47  profilanswer
 

oui, c'est ce que je fais, mais je l'ai pas precisé, désolé :/
 
/usr/bin/screen -A -m -d -S ethereal $ETHEREAL -i eth0 -n -p -q -a filesize:4000 -b 100 -w $OUTFILE host xxx.xxx.xxx.xxx and port 21

n°677001
jlighty
Posté le 12-05-2005 à 22:44:49  profilanswer
 

donc il faut changer les permissions des dumps qui ne sont pas en cours d'écriture
donc tout fichier de taille < 4000 octets ? ne doivent pas être soumis à un chown
 
if [ `du -b <fichier_dump>` gt 4000 ]
 
chown <user> <fichier_dump>
fi


Message édité par jlighty le 12-05-2005 à 22:51:06
mood
Publicité
Posté le 12-05-2005 à 22:44:49  profilanswer
 

n°677018
syl94
Ni!
Posté le 12-05-2005 à 22:55:08  profilanswer
 

donc quelque chose du genre  
 

Code :
  1. if [ $OUTFILE > 4000000 ];then chown bla.bla $OUTFILE;fi


 
La valeur de filesize est en kilo, mais j'ai un doute sur la syntaxe :/

n°677020
jlighty
Posté le 12-05-2005 à 22:59:01  profilanswer
 

si c'est en ko -> du -k <fichier>
comment est "contruit" $OUTFILE ?
car il me semble que $OUTFILE est un nom de fichier donc tu ne pourras pas faire $OUTFILE > 4000000
par contre if [ `du -k "$OUTFILE"` > 4000 ]; then chown ... fi

n°677024
syl94
Ni!
Posté le 12-05-2005 à 23:03:22  profilanswer
 

exact. $OUTFILE est du type dump_yyyymmddhhmmss.txt
 
je vais adopter le du -k sur dump_*.txt ca devrait le faire

n°677027
jlighty
Posté le 12-05-2005 à 23:05:34  profilanswer
 

une boucle de ce style :

Code :
  1. for fichier in `ls | fgrep dump`; do
  2.   if [ `du -k "$fichier"` > 4000 ]; then chown ... fi
  3. done;


Message édité par jlighty le 12-05-2005 à 23:05:44
n°677028
syl94
Ni!
Posté le 12-05-2005 à 23:09:44  profilanswer
 

super. Merci! Je te dis ca demain du taff

n°678584
syl94
Ni!
Posté le 16-05-2005 à 13:57:05  profilanswer
 

petit UP pour completer la solution :)
 
ton script fonctionne nickel jlighty, j'ai juste du rajouter un chmod 660 dans la boucle sur les dumps générés par tethereal
 
ma cron reste bien active et les droits sont correctement alloués
 
Merci!

n°678697
jlighty
Posté le 16-05-2005 à 17:20:22  profilanswer
 

Content que ça marche :),
donc l'origine du problème était bien l'accès concurrentiel au fichier dump entre Ethereal et cron

n°678742
syl94
Ni!
Posté le 16-05-2005 à 18:26:19  profilanswer
 

a priori oui :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs

  probleme de cron

 

Sujets relatifs
Problème avec certain CGI de NAGIOSProbleme de script shell
Cron / webmin: probleme d'executionrsync [resolu] nouveau probleme avec cron
Problème de cron avec Webminprobleme de cron
Probleme avec CronProbleme avec MRTG et cron : process deja lancé
Problème avec cron et la reconnection auto de mon modemProbleme avec cron
Plus de sujets relatifs à : probleme de cron


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR