Planification de tâches

Bonjour,

J’utilise une machine sous debian lenny en tant que serveur.
Pour automatiser le démarrage des différents programmes j’ai utiliser cron en paramétrant ce dernier du type :

@reboot /home/user/programme1.sh (<- fichier avec les lignes de commande de démarrage) @reboot /home/user/programme2.sh @reboot /home/user/programme3.sh @reboot /home/user/programme4.sh ...

Cependant, j’ai rajouté un nouveau service (exemple ici programme2) qui doit être démarré qu’après que le programme principal (ici programme1) soit opérationnel.

Je recherche donc à automatiser le lancement d’un programme à “@reboot + 2min”. Le lasp de temps de 2min après le démarrage permettrait au premier programme d’être exécuté pour ensuite exécuter le second programme.

Merci par avance pour votre aide.
Cordialement.
Kresta

Salut,

programme1 && programme2

Programme2 ne s’exécute que lorsque programme1 est terminé et que tout s’est bien passé.

Merci bcp pour ta réponse rapide, cependant je n’arrives pas à le mettre en oeuvre.

En fait les programmes sont situé comme suivant :

/home/user/PGM/programme1
/home/user/PGM/SSPGM/programme2

Ais-je bien la ligne de commande suivante dans mon lanceur.sh (situé dans /home/user/) ?

#!/bin/sh cd PGM ./programme1 && cd SSPGM && ./programme2
Après essais cela ne marche pas, peux tu me dire où est mon erreur.

Merci beaucoup.
Cordialement.
Kresta

Essaie de mettre des chemins absolus à tes exécutables,
peut-être que cron ne les trouve pas dans l’environnement dans lequel il est lancé.

Note: le répertoire courant n’est pas le repertoire qui contient le script.

perso j’ai remarqué que si on utilise pas des chemins absolu dans les scripts de crontab cela peut poser problème. J’ai donc pris l’habitude de ne plus utiliser de chemin relatif ou autre déplacement douteux avec “cd” dans mes scripts et depuis plus de surprise avec ma cron

[grilled quoi…]

Merci pour les conseils, mais je n’arrive pas à mettre le chemin absolu …

c’est comme cela qu’il faut procéder ?

@+

Salut,

Comme çà cela devrait aller mieux :slightly_smiling:

en théorie les deux sont corrects

Salut BBT1,

Tu as essayé ? Ou ce n’est que de la théorie :slightly_smiling:

Pas besoin d’essayer pour un truc aussi basique.

Dans un répertoire, il y a un certain nombre d’entrées qui correspondent à des inodes.
Ces inodes correspondent à des fichiers.
Dans unix, tout est fichier, même les répertoires.
. et … ne sont que des fichiers particuliers qui partagent les mêmes inodes que respectivement
le répertoire dans lequel . est contenu et son répertoire parent.

Donc /mon/super/chemin est fonctionnellement équivalent à /mon/…/./mon/super/././chemin/…/chemin
(d’ailleurs on peut noter le cas particulier du répertoire racine / où … et . désignent la même entité à savoir /)

Bon, je suis un peu de mauvaise fois, j’ai déjà essayé il y a longtemps,
mais je ne l’ai pas fait expressément pour ce post :wink:

Salut,

en théorie les deux sont corrects :smiley: :smiley: :smiley:

Bon, ok, en théorie et en pratique. :mrgreen: