46 lines
688 B
Bash
Executable file
46 lines
688 B
Bash
Executable file
#!/bin/bash
|
|
|
|
LOCKDIR="/tmp/snapshotslocks/"
|
|
|
|
[ ! -d "$LOCKDIR" ] && mkdir -p "$LOCKDIR"
|
|
|
|
createlock() {
|
|
LOCKNAME=$1
|
|
[ -f "$LOCKDIR/$LOCKNAME.lock" ] && exit 1
|
|
touch "$LOCKDIR/$LOCKNAME.lock"
|
|
exit 0
|
|
}
|
|
|
|
deletelock() {
|
|
LOCKNAME=$1
|
|
[ ! -f "$LOCKDIR/$LOCKNAME.lock" ] && exit 1
|
|
rm "$LOCKDIR/$LOCKNAME.lock"
|
|
exit 0
|
|
}
|
|
|
|
haslock() {
|
|
if ls $LOCKDIR/* 1> /dev/null 2>&1; then
|
|
exit 0
|
|
else
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
case $1 in
|
|
lock)
|
|
createlock $2
|
|
;;
|
|
unlock)
|
|
deletelock $2
|
|
;;
|
|
haslock)
|
|
haslock
|
|
;;
|
|
show)
|
|
ls $LOCKDIR
|
|
;;
|
|
*)
|
|
echo "What is $1" >&2
|
|
exit 1
|
|
esac
|
|
|