# Created on savesnippets.com · https://savesnippets.com/Bv7SeQ9Ku9ZWyV #!/usr/bin/env bash LOCKFILE="/var/lock/myjob.lock" ( # -n = non-blocking, -x = exclusive flock -n -x 9 || { echo "Another instance is running, exiting." >&2; exit 1; } # ─── critical section ────────────────────────────── echo "[$(date)] starting work…" sleep 30 echo "[$(date)] done." ) 9>"$LOCKFILE" # One-liner in crontab: # */5 * * * * flock -n /var/lock/myjob.lock -c '/path/to/myjob.sh'