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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

crontab

n°674966
thefakir
Posté le 09-05-2005 à 11:45:33  profilanswer
 

Voia un petit probleme avec crontab.
J'ais un petit script qui doit s'executer tout seul grace a crontab.
Ce petit script est sence kill un processus et le relance.
Lorsque je le lance a la mano il marche nickel, mais des qu'il s'execute par cron, il me kill bien le proc mais ne le relance pas.
 
voila si quelqu'un a une idée,
voila le script:
 
#! /bin/sh
if [ -f /var/run/snort* ] ; then
kill `more /var/run/snort*`
fi
 
snort -c /etc/snort/snort.conf -i eth1 -D -m 073
 

mood
Publicité
Posté le 09-05-2005 à 11:45:33  profilanswer
 

n°674976
jlighty
Posté le 09-05-2005 à 12:06:45  profilanswer
 

Bonjour,
redirige les erreurs vers un fichier dans la crontab pour voir où le problème se trouve.
spécifie aussi le chemin complet de snort (/usr/sbin/snort), la crontab ne doit pas prendre correctement le PATH (par exemple je fais appel à iptables par /sbin/iptables)


Message édité par jlighty le 09-05-2005 à 12:08:08
n°675010
thefakir
Posté le 09-05-2005 à 13:41:58  profilanswer
 

j'ais rajoute le chemin complet, mon probleme reste toujours le meme.
dans les logs de crontab aucune erreurs.

n°675015
jlighty
Posté le 09-05-2005 à 13:50:35  profilanswer
 

dans la crontab :
* * * * * <le script>  2>/home/<ma home>/script_log
 
cela va permettre de rediriger les erreurs d'exécution du script dans le fichier script_log car les logs de crontab ne sont pas très bavards

n°675018
thefakir
Posté le 09-05-2005 à 13:54:29  profilanswer
 

J'ais fais aussi, mais strictement rien qui s'ecrit dedans, j'ais aussi rajoute les droit d'execution a tout le monde pour mon scrpit mais rien qui change.

n°675029
thefakir
Posté le 09-05-2005 à 14:04:36  profilanswer
 

Je suis un abruti, c'est bon c'est resolu.
Je mettais gouré dans le chemin.
Merci.
Ca marche nickel ;)

n°675051
thefakir
Posté le 09-05-2005 à 14:42:13  profilanswer
 

En fait nickel est un bien grand mot^^.
Voila mon nouveau probleme,
lorsque que je programme dans crontab mon script il s'excute me kill mon pocess et en relance un, mais me sort des erreurs.
Pour mieux comprendre, voila mon script:
 
#! /bin/sh
if [ -f /var/run/snort* ] ; then
kill -9 `more /var/run/snort_eth1.pid` 2> /home/admin/snort_log/kill.txt
/usr/local/bin/snort -c /etc/snort/snort.conf -i eth1 -D -m 073 2> /home/admin/snort_log/snort.txt
exit 0
 
else
/usr/local/bin/snort -c /etc/snort/snort.conf -i eth1 -D -m 073 2> /home/admin/snort_log/snort.txt
exit 0
fi
 
 
Donc quand je le lance a la main pas d'erreurs.
mais lorsque je le met dans crontab je regarde le fichier de log du kill et:
 
[root@Brique snort_log]# tail -f kill.txt
/etc/snort/cron/snort.sh: line 4: kill: ::::::::::::::: no such pid
/etc/snort/cron/snort.sh: line 4: kill: /var/run/snort_eth1.pid: no such pid
/etc/snort/cron/snort.sh: line 4: kill: ::::::::::::::: no such pid
 
Et je ne comprend pas ce que sont ces erreurs puisqu'il trouve bien le pid etant donne qu'il le kill. Mais c'est bien embetant puisqu'il m'envoi un mail a chaque erreurs!


Message édité par thefakir le 09-05-2005 à 14:42:54
n°675052
jlighty
Posté le 09-05-2005 à 14:44:17  profilanswer
 

attention ne pas utiliser "more" mais plutôt "cat" car la commande more est interactive (si le contenu du fichier est grand) !


Message édité par jlighty le 09-05-2005 à 14:47:10
n°675061
thefakir
Posté le 09-05-2005 à 14:57:30  profilanswer
 

ET bien vu plus d'erreur du cote de kill, bien que je ne comprend pas trop pourquoi puisque le fichier n'est pas gros du tout il ne contient que le numero du pid more n'est interactif que lorsque cela fais plus d'ue page?enfin ca marche....  
Par contre il m'envoie encore un mail ou il me dit que le fichier snort.sh.swp is not an executable plain file.
alors ca je sais pas du ca sort
precision snort.sh est le fichier que j'execute dans le crontab.

n°675062
jlighty
Posté le 09-05-2005 à 15:01:47  profilanswer
 

le fichier snort.sh.swp ne serait-il pas un fichier temporaire de vim ?
essaye de fermer proprement vim (purge du fichier temporaire)
Concernant more, je ne connais pas son comportement dans un tel cas, j'ai toujours privilègié cat car si le fichier devient important (plus d'une page) le script plante


Message édité par jlighty le 09-05-2005 à 15:04:02
mood
Publicité
Posté le 09-05-2005 à 15:01:47  profilanswer
 

n°675064
thefakir
Posté le 09-05-2005 à 15:05:16  profilanswer
 

Je crois que tu a raison car ce matin vi ma fais un erreur du style:
attention trouve un fichier d'echange.....quand j'ouvrais snort.sh
et moi j'ais fais le bourrin:
rm snort.sh.swp, et apres plus d'erreur.
là je viens de faire un updatedb, puis locate snort.sh.swp et il trouve rien.
donc je sais pas d'ou peut venir l'erreur.


Message édité par thefakir le 09-05-2005 à 15:05:48
n°675065
jlighty
Posté le 09-05-2005 à 15:06:55  profilanswer
 

Regarde dans le répertoire où le script a été conçu avec ls -a


Message édité par jlighty le 09-05-2005 à 15:08:07
n°675066
thefakir
Posté le 09-05-2005 à 15:08:21  profilanswer
 

non rien:
[root@Brique cron]# ls -a
./  ../  snort.sh*

n°675068
jlighty
Posté le 09-05-2005 à 15:11:31  profilanswer
 

quel est le programme qui tente d'exécuter snort.sh.swp ? (normalement ça doit être indiqué dans le mail)
cron ? (voir dans les logs de cron)
cela permettra d'obtenir le chemin complet du fichier  snort.sh.swp


Message édité par jlighty le 09-05-2005 à 15:13:26
n°675069
thefakir
Posté le 09-05-2005 à 15:18:45  profilanswer
 

ben normalement aucun programme, cron il execute snort.sh
je viens de regarder les logs de cron il parle nulpart de snort.sh.swp

n°675070
jlighty
Posté le 09-05-2005 à 15:20:30  profilanswer
 

et dans le mail y a t-il une indication quelconque ? (champs From et Subject)


Message édité par jlighty le 09-05-2005 à 15:21:52
n°675073
thefakir
Posté le 09-05-2005 à 15:26:38  profilanswer
 

Ben il me disais pas plus que ce que j'ais ecrit plus haut surtout qu'il n'y en avais plus puisque avec le locate je ne trouve rien.
Enfin j'ais fait un mv de snort.sh en snort2.sh.
J'ais relance un cron et plus de message d'erreur.
Donc merci pour l'aide, mais je pense que c'est regle....J'espere!!!!
merci :)


Aller à :
Ajouter une réponse
 

Sujets relatifs
[RESOLU][crontab] apt-get upgradeHelp Crontab
crontab, ça marche et ça coupeLancer un script par crontab
Execution et CrontabCrontab [RESOLU]
crontab - Commande programmée ne s'exécute pasQuand la crontab n'existe pas encore...
Unix, Crontab, editeur et variable d'environnementcrontab script visuelle
Plus de sujets relatifs à : crontab


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