IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Script bash, Processus rsync, faire en sorte qu'il soit lancer 2 fois maximum


Sujet :

Shell et commandes GNU

  1. #21
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    perso j'aurai eu tendance à utiliser des verrous, au début du programme on vérifie si les verrous existent, le cas échouant on lance une nouvelle instance et on active le verrou concerné

    une méthode simple consiste à utiliser des fichiers et stocker dedans le PID de la tâche lancée (on lance commande & on récupère son pid via $?), ce qui permet de garder la trace du processus directement, on a plus qu'à vérifier avec ps s'il est lancé ou pas

    un truc approchant (non-testé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #!/bin/bash
     
    checkLock() {
       LOCKFILE="$1"
       ret=0
       if [[ -e $LOCKFILE ]]; then
          if ps $(<$LOCKFILE) >/dev/null; then
             ret=0
          fi
       else
          ret=1
       fi
       return $ret
    }
     
    checkLock "/tmp/lock1" || { rsync machin truc & echo "$?" > "/tmp/lock1" }
    checkLock "/tmp/lock2" || { rsync bidule pouet & echo "$?" > "/tmp/lock2" }

  2. #22
    Membre averti Avatar de Louinux
    Homme Profil pro
    Ganil, Cyceron
    Inscrit en
    Décembre 2018
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ganil, Cyceron
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 52
    Par défaut
    Bonjour, merci de ta réponse que je vais tester mais j'avais regarder une soluce un peu prêt similaire mais le problème est... les processus parent // enfant. Si un rsync est lancé (d'après ce que j'ai vu en essayant) le processus par exemple PID = 89454545 deux autres seront lancer avec le PID = truc et en lien avec ca . Je ne sais pas si c'est très clair mais du coup verra t-il la différence avec les autres processus enfant ???
    Cordialement

  3. #23
    Invité
    Invité(e)
    Par défaut
    Je ne sais pas si c'est très clair
    en effet, ça ne l'est pas.
    montre-nous la commande, et son retour, stp.

  4. #24
    Membre averti Avatar de Louinux
    Homme Profil pro
    Ganil, Cyceron
    Inscrit en
    Décembre 2018
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ganil, Cyceron
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 52
    Par défaut
    Nom : Capture.PNG
Affichages : 115
Taille : 69,4 Ko

  5. #25
    Invité
    Invité(e)
    Par défaut
    et pgrep fait la même chose ?

  6. #26
    Membre averti Avatar de Louinux
    Homme Profil pro
    Ganil, Cyceron
    Inscrit en
    Décembre 2018
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ganil, Cyceron
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 52
    Par défaut
    Photo :
    Images attachées Images attachées  

  7. #27
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    Citation Envoyé par Louinux Voir le message
    le problème est... les processus parent // enfant
    pour le dire simplement, les process enfants c'est le rôle du parent de s'assurer qu'ils sont bien lancés/bien terminés, ce qu'on récupère via $? c'est censé être le pid du process parent, donc tant qu'il est en vie et que le but n'est pas de tuer les autres rsync la méthode reste valable

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Tuer des processus via un script bash
    Par RTK45 dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 19/04/2013, 00h16
  2. faire un uptime d'un serveur jeu en script bash
    Par kazylax dans le forum Linux
    Réponses: 0
    Dernier message: 04/08/2009, 18h02
  3. comment faire en sorte qu'un script ne s'ouvre pas en avant-plan
    Par fourchette dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 26/02/2009, 09h57
  4. Requête POST dans un script bash
    Par desperado dans le forum Linux
    Réponses: 4
    Dernier message: 11/12/2007, 23h38
  5. Problème script Bash
    Par Sphost dans le forum Linux
    Réponses: 10
    Dernier message: 26/07/2005, 10h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo