Script bash : exécution de plusieurs scripts

Script bash : exécution de plusieurs scripts - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 27-08-2009 à 12:22:20    

Bonjour à tous (et à toutes  :D ),
 
j'ai une petite question concernant les scripts bash :
 
actuellement sur mon serveur, j'ai plusieurs scripts qui exécutent des tâches de sauvegarde par FTP. Chaque script est appelé à une heure précise par cron.
Selon le contenu du répertoire sauvegardé par le script, celui-ci met plus ou moins de temps à s'exécuter.
 
Mon but est le suivant : écrire un script bash appelé par cron mais qui exécute mes scripts déjà en place.
 
Et donc la question est la suivante : si dans ce fameux script j'appelle mes autres scripts, seront-ils tous lancés quasi en même temps ou les uns après les autres (quand l'un est terminé, l'autre se lance et ainsi de suite) ?
 
Merci par avance pour vos réponses  :jap:

Reply

Marsh Posté le 27-08-2009 à 12:22:20   

Reply

Marsh Posté le 27-08-2009 à 17:11:49    

Utilise des & dans ton "gros" script

#!/bin/sh
/chemin/vers/script1&
/chemin/vers/script2&
/chemin/vers/script3&


Dès que le script 1 est lancé, le script 2 est lancé sans attendre la fin du 1, puis dès que le 2 est lancé, le 3 est exécuté sans attendre la fin du 2.

 

Sans le & chaque script est lancé une fois que le précédent est fini.


Message édité par o'gure le 27-08-2009 à 17:12:08

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 27-08-2009 à 18:03:58    

Parfait merci ! je vais voir ça  :)

Reply

Marsh Posté le 27-08-2009 à 19:19:49    

et un petit wait à la fin si tu veux que le processus lanceur se termine avec ses enfants. (Et ça fait plus propre au pstree pour les maniaques)

Reply

Marsh Posté le 16-09-2009 à 15:24:16    

Bonjour je rebondis sur ce topic pour ma question si je veux lancer plusieurs scripts successivement (script3 attend fin de scripts2 qui attend fin de script1) est ce que dans la ligne de commande unix il me suffit de taper :  
 
script1.sh script2.sh script3.sh ?
 
Je n'ai pas moyen de tester car j envoi les commande a une equipe d exploitation qui elle a acces a unix. Merci

Reply

Marsh Posté le 16-09-2009 à 15:29:25    

En une seule ligne de commande tu dois mettre des ;  

script1.sh ; script2.sh ; script3.sh


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 16-09-2009 à 15:31:06    

Merci bcp o'gure et est ce que dans la meme ligne de commande c est possible de dire si script1.sh ne finit pas en erreur alors lancer le 2 ?

Reply

Marsh Posté le 16-09-2009 à 15:34:00    

Tu remplaces les ; par des &&

Reply

Marsh Posté le 16-09-2009 à 15:35:06    

Gavrinis merci beaucoup !!

Reply

Marsh Posté le 16-09-2009 à 15:41:30    

http://www.gnu.org/software/bash/m [...] html#Lists


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 16-09-2009 à 15:41:30   

Reply

Marsh Posté le 17-09-2009 à 13:58:01    

Je sais bien qu'en anglais ça fait "geek" mais bon c'est un forum de langue française...
http://abs.traduc.org/abs-fr/


---------------
La réponse est 42
Reply

Sujets relatifs:

Leave a Replay

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