*/5 * * * * flock -n /var/lock/myjob.lock /usr/local/bin/myjob.sh */5 * * * * flock -n /var/lock/myjob.lock /usr/local/bin/myjob.shhttps://avilpage.com/2024/08/guide-systemd-timer-cronjob.htm...
If you're thinking about using NFS, why would you want to distribute your locks across other machines?
Sometimes certain containerized processes need to run according to a schedule, but maintainers also need a way to run them manually without the scheduled processing running or starting concurrently. A shared FS seems like the ”simplest thing that could possibly work” distribution method for locks intended for that purpose, but unfortunately not all cloud storage volumes are strongly consistent, even to the same user, and may take several ms for the lock to take hold.
Seems easier to have a managed lockfile for each process, diligently checking that the lock has actually been acquired. Performance is not a concern anyway, as long as acquire takes just a few ms we’re golden.
FWIW, it’s not NFS.
In other words, it's not the author's problem. It's the problem of a particular storage that may decide to throw the spec out of the window. But even in an eventually consistent file system, the manufacturer is better off ensuring that the locking semantics is fully consistent as per the spec.