GNU/Linux >> Tutoriels Linux >  >> Linux

Empêcher un script bash de s'exécuter simultanément

Présentation : Afin d'éviter qu'une instance de script bash ne s'exécute plusieurs fois simultanément, voici une petite astuce sur la façon d'écrire le script.

Modèle de script :
#!/bin/bash
# Prevents that an instance of the script starts while another instance of it is still running
scriptname=$(basename $0)
lockfile="/tmp/${scriptname}.lock"
if [ -e $lockfile ]; then exit 1 ; fi
touch $lockfile.lock
# Delete lock file if CTRL-C typed from the keyboard
trap 'rm $lockfile ; exit' SIGINT SIGQUIT
#----------------------------------
# ############ Put your script code here #####################
#----------------------------------
# delete the lock file
rm $lockfile
# .eof


Linux
  1. Comment déboguer un script bash ?

  2. Script Bash pour supprimer le fichier le plus ancien d'un dossier ?

  3. Option Rsync inconnue à partir de l'exécution du script Bash ?

  4. Exécuter un fichier de script sur Ssh via Sudo ?

  5. Comment savoir si je suis dans une session Tmux à partir d'un script bash ?

35 exemples de scripts bash

Comment exécuter un script bash

Vérifier qu'un script est en cours d'exécution ?

Obtenir le chemin complet depuis le script Bash ?

Comment vérifier la syntaxe d'un script Bash sans l'exécuter ?

Script bash pour supprimer le fichier le plus ancien d'un dossier