Changer les commandes en rouge avec vos commandes 🙂
En bref on crée un fichier temporaire appelé myFileLocked.lck qu’on tentera de verrouiller 31 fois toutes les 10 Secondes .
Si pour une raison quelconque que le verrou ne s’enlève pas le fichier se déverrouille au pour de 300 seconde
#!/bin/bash
##[LOCK:START]
LockFile=/var/tmp/myFileLocked.lck
echo "[INFO][LOCK] [$$] $(date)] Lock Try"
# SAMPLE : For prod : lockfile -10 -r 31 -l 3OO $LockFile
lockfile -10 -r 31 -l 3OO $LockFile
rc=$?
if (( $rc )) ; then
echo "[ERROR][LOCK]: Lock operation to $LockFile fail with ($rc)" ;
echo "[ERROR][LOCK]: Exit 11" ;
exit 11;
fi
echo "[INFO][LOCK] [$$] $(date)] Lock Get"
##[LOCK:EXECUTE CMD]
echo 'Push my CMD here'
sleep 10
##[LOCK:END]
echo "[INFO][LOCK] [$$] $(date)] Lock Release"
rm -f $LockFile
echo "[INFO][LOCK] [$$] $(date)] Exit"