Cron et script

Cron et script - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 01-02-2012 à 21:26:29    

Salut et merci pour votre aide.
 
J'explique ma situation, je voudrais pouvoir lancer une commande cron ou un cron qui lance un batch mais uniquement dans le cas ou le précédent lancement est fini.
 
Je détaille
 
Toutes les 1 minutes je demande le lancement de mon script
 
Celui ci ferait un test pour savoir si l'ancien tourne toujours et dans le cas ou il tourne pas, il lancerait son exécution.
 
C'est une commande d'un srcipt ruby que je lancerais. Si quelqu'un sait comment lancer une tache et savoir si celle ci est fini pour la relancer ou non, ce serait sympa de me donner des indices si vous en avez ;)
 
Ps : la commande a une durée indéterminé et donc je ne sais vraiment pas quand elle est fini d'ou le check et le relancer au besoin.


---------------
Recette cookeo Recette de cuisine
Reply

Marsh Posté le 01-02-2012 à 21:26:29   

Reply

Marsh Posté le 01-02-2012 à 21:42:10    

Le mécanisme généralement utilisé est le suivant
1. le script crée un fichier, typiquement quelque part dans /var/run/ et y indique son pid  (typiquement le nom du fichier est le nom du process/script)
2. il fait son taf
3. lorsqu'il finit son taf, il supprime le fichier
4. un nouvel appel du script vérifie si ce fichier existe, et si le process tourne bien
   4.1 si oui  : il ne va pas plus loin
   4.2 si non : il fait 1, 2, 3

 

Si tu ne peux modifier ton script, tu fais un script bash "lanceur" qui fait c'est check et lance le vrai script et attend qu'il le termine. Bref, je pense que tu as saisi le concept


Message édité par o'gure le 01-02-2012 à 21:45:02
Reply

Marsh Posté le 01-02-2012 à 22:12:13    

Oui as tu des tuto pour un modèle de batch comme ça

 

Le problème est qu il est possible que le script plante qui est lance donc dans ce cas le batch reprendrait la main de toute façon non?  donc supprimera le fichier?


---------------
Recette cookeo Recette de cuisine
Reply

Marsh Posté le 02-02-2012 à 08:22:09    

ionik a écrit :

Oui as tu des tuto pour un modèle de batch comme ça


Je ne sais pas.

ionik a écrit :

Le problème est qu il est possible que le script plante qui est lance donc dans ce cas le batch reprendrait la main de toute façon non?  donc supprimera le fichier?


A toi de faire le script correctement [:spamafote]
 - attendre que ton truc ruby se termine
 - vérifier qu'il se termine bien.
 - au démarrage vérifier si le fichier existe vérifier que le process qui y indiqué (via le pid) tourne bien et n'est pas dans un état à la con
 
renseigne toi sur les scripts bash et les processus, des tutos pour ça, il en existe.

Reply

Marsh Posté le 02-02-2012 à 08:55:57    

Ok je vais m'y pencher, merci pour les infos


---------------
Recette cookeo Recette de cuisine
Reply

Sujets relatifs:

Leave a Replay

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