A bash script skeleton for creating scripts that can only run one instance of itself at any given time by using flock (if installed or a work around if not).
Take a copy of the script, and rename as required, and use this as the basis for any script that requires to be run exclusively.
It is ideal for jobs in cron for example that run regularly but cannot overlap.
function actual_script()
{
echo "I am Locked - Sleep time"
sleep 3
echo "Now I Unlock"
}
Simply replace the contents of 'actual_script' with the script that you want to be protected by flock. You can treat this function as you would any other function, set variables, call other functions etc etc etc.
When the script starts it looks for the existence of a lock file, if it exists it will display an error and exit. If it does not exist it will create it and then continue on with the rest of the script.