runif for lockutil

This commit is contained in:
2023-09-08 08:37:10 +03:00
parent a189d6dc6f
commit a21d62dfce

View File

@@ -1,23 +1,26 @@
#!/bin/bash #!/bin/bash
VERSION=230908.0
_help() { _help() {
echo ' echo '
Usage: lock-util {lock-file} [-v] [command] [args] Usage: lock-util {lock-file} [-v] [command] [args]
Commands: Commands:
create create
exist ( return 0 if lock exists ) exist ( return 0 if lock exists )
old [age in seconds] ( return 0 if file younger than [args] seconds or file not present ) old [age in seconds] ( return 0 if file older than [args] seconds or file not present )
runif [age in seconds] ( old + create, if file not exist, or older than [arg], then touch file and return 0, else 1 )
remove remove
-v as first argument sets very verbose mode -v as first argument sets very verbose mode
' '
} }
LOCKFILE="$1" LOCKFILE="$1"
[[ "$2" = "-v" ]] && { [[ "$2" = "-v" ]] && {
VERBOSE=on VERBOSE=on
COMMAND="$3" COMMAND="$3"
ARG="$4" ARG="$4"
} || { } || {
COMMAND="$2" COMMAND="$2"
ARG="$3" ARG="$3"
} }
@@ -80,5 +83,17 @@ _remove() {
exit $ec exit $ec
} }
[[ $COMMAND = "runif" ]] && {
[[ -z "$ARG" ]] && _help && echo "MISSING ARGUMENT" | $BOXES && exit 1
VERBOSE=$VERBOSE "$0" "$LOCKFILE" old "$ARG"
ec=$?
[[ $ec -eq 0 ]] && {
_exist && _remove
VERBOSE=$VERBOSE "$0" "$LOCKFILE" create
ec=$?
}
exit $ec
}
echo Command not recognized echo Command not recognized
_help _help