https://github.com/developerstoolbox/bash-flock-wrapper
A bash script skeleton for creating scripts that can only run one instances at any given time by using flock.
https://github.com/developerstoolbox/bash-flock-wrapper
bash flock wolfsoftware
Last synced: 10 months ago
JSON representation
A bash script skeleton for creating scripts that can only run one instances at any given time by using flock.
- Host: GitHub
- URL: https://github.com/developerstoolbox/bash-flock-wrapper
- Owner: DevelopersToolbox
- License: mit
- Created: 2021-02-15T10:04:35.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2025-03-17T04:37:14.000Z (10 months ago)
- Last Synced: 2025-03-17T05:28:54.632Z (10 months ago)
- Topics: bash, flock, wolfsoftware
- Language: Shell
- Homepage:
- Size: 125 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Citation: CITATION.cff
- Codeowners: .github/CODEOWNERS
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
## Overview
## Overview
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).
## Usage
Take a copy of the [script](src/bash-flock-wrapper.sh), 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.
```shell
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.
## How it works
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.