diff options
Diffstat (limited to 'global/overlay/usr/local/bin/run-cosmos')
-rwxr-xr-x | global/overlay/usr/local/bin/run-cosmos | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/global/overlay/usr/local/bin/run-cosmos b/global/overlay/usr/local/bin/run-cosmos new file mode 100755 index 0000000..df104b8 --- /dev/null +++ b/global/overlay/usr/local/bin/run-cosmos @@ -0,0 +1,20 @@ +#!/bin/sh +# +# Simplify running cosmos, with serialization if flock is available. +# + +set -e + +FLOCK=`which flock` + +if [ -x "$FLOCK" ]; then + ($FLOCK --exclusive --wait 60 9 || exit 1 + cosmos $* update + cosmos $* apply + )9>/var/lock/run-cosmos +else + cosmos $* update + cosmos $* apply +fi + +touch /var/run/last-cosmos-ok.stamp |