Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/05/2011, 12h19   #1
Candidat au titre de Membre du Club
 
Inscription : avril 2011
Messages : 10
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 10
Points : 14
Points : 14
Par défaut Arrêter un script bash si problème

Bonjour
Je travaille actuellement sur un script bash permettant de faire une sauvegarde complète d'un serveur sur un autre. Afin d'optimiser mon script, j'aimerais qu'il s'arrête au bout de 4H s’il rencontre un problème et qu'il bloque. Jespere avoir été claire.
Merci de votre aide.
amiranoff est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 17/05/2011, 12h37   #2
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 534
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 534
Points : 7 743
Points : 7 743
tu peux créer un marqueur en mémoire ou sur disque en début de script
par exemple un
Code :
touch /var/run/$0.$(+%Y%m%d-%H).$pid
et le retirer en fin de script. et pendant ce temps tester à H+4 si le fichier est toujours présent et si oui tuer le processus et effacer le marqueur... par exemple avec un autre script en crontab
Code :
1
2
3
4
5
6
[...]
if [ -f /var/run/nom_du_script.*.$pid ] ; then
  kill -9 $pid
  rm /var/run/nom_du_script.*.$pid
fi
[...]
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 17/05/2011, 13h19   #3
Membre Expert
 
Homme Alexis
Intégrateur d'Exploitation
Inscription : février 2003
Messages : 876
Détails du profil
Informations personnelles :
Nom : Homme Alexis
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Intégrateur d'Exploitation
Secteur : Biens de consommation

Informations forums :
Inscription : février 2003
Messages : 876
Points : 1 619
Points : 1 619
Envoyer un message via ICQ à Alek-C Envoyer un message via Skype™ à Alek-C
Tu peux aussi regarder du côté des ordonnanceurs, je ne connais pas les versions open source, mais il en existe peut-être certains d'intéressants :

http://jobscheduler.sourceforge.net/
http://www.redwood.com/products/cronacle/

...
Alek-C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 17/05/2011, 14h41   #4
Candidat au titre de Membre du Club
 
Inscription : avril 2011
Messages : 10
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 10
Points : 14
Points : 14
Merci de vos réponse ^^.

Le script doit s'arrêter au bout de 4h seulement si il a rencontré un problème et qu'il tourne dans le "vide".

La première solution je la comprend mais la deuxième avec les ordonnanceurs je vois pas trop ...
amiranoff est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 17/05/2011, 15h08   #5
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 534
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 534
Points : 7 743
Points : 7 743
Citation:
Envoyé par amiranoff Voir le message
Merci de vos réponse ^^.

Le script doit s'arrêter au bout de 4h seulement si il a rencontré un problème et qu'il tourne dans le "vide".

La première solution je la comprend mais la deuxième avec les ordonnanceurs je vois pas trop ...
un ordonnanceur donne un timeout à chaque jobs, et le "plante" si le timeout est atteint....
mais un ordonnanceur n'a de sens que si on a au moins 100 jobs, et encore seulement si il y a besoin des les séquencer les uns par rapport aux autres.
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 17/05/2011, 16h28   #6
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 070
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 070
Points : 4 153
Points : 4 153
Bonjour,

GNU coreutils propose une commande timeout
...
?
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 17/05/2011, 16h32   #7
Candidat au titre de Membre du Club
 
Inscription : avril 2011
Messages : 10
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 10
Points : 14
Points : 14
C'est beaucoup pour pas grand chose, dans mon cas je n'en ai pas besoin.
amiranoff est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 17/05/2011, 17h01   #8
Membre Expert
 
Homme Alexis
Intégrateur d'Exploitation
Inscription : février 2003
Messages : 876
Détails du profil
Informations personnelles :
Nom : Homme Alexis
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Intégrateur d'Exploitation
Secteur : Biens de consommation

Informations forums :
Inscription : février 2003
Messages : 876
Points : 1 619
Points : 1 619
Envoyer un message via ICQ à Alek-C Envoyer un message via Skype™ à Alek-C
100 jobs, c'est peut être un peu exagéré, mais ça n'est sans doute pas indispensable pour un seul job effectivement

cela étant, dans le cadre d'un backup, cela permet de concevoir une architecture plus propre en commençant par préparer le serveur à être sauvegardé comme en arrêtant les services qui peuvent tourner, fermant ce qui ne sert à rien, etc... afin d'avoir le serveur dans un état stable avant de faire le backup.

il suffit pour cela d'ajouter quelques scripts simples pour fermer ce qui peut l'être et de conditionner le backup sur ces scripts... libre ensuite d'ajouter un timeout de 4h avant de remettre petit à petit le serveur en marche
Alek-C est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 18/05/2011, 09h30   #9
Candidat au titre de Membre du Club
 
Inscription : avril 2011
Messages : 10
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 10
Points : 14
Points : 14
Bonjour,

Je comprend mieux l'utilité de ordonnanceurs a présent je t'en remercie beaucoup !!
amiranoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h41.


 
 
 
 
Partenaires

Hébergement Web