done
}
+function deleteLock {
+ if ! rmdir /tmp/$(basename $0).lock; then
+ scottyerror "Could not delete lockfile /tmp/$(basename $0).lock!"
+ fi
+}
+
function cleanup_abort {
scottyerror "Caught exit signal! Cleaning up."
kill $(jobs -p)
fi
+ deleteLock
+
exit
}
scottyinfo "No prepare function was defined."
}
+function cleanup_normal {
+ cleanup
+ deleteLock
+}
+
function printhelp {
cat <<EOF
Usage: $(basename $0) [OPTION]...
prepare
scottysync
- trap cleanup EXIT
+ trap cleanup_normal EXIT
exit 0
}
-exec 200>/var/run/$(basename $0).pid
-if ! flock -n 200; then
+if ! mkdir /var/run/$(basename $0).lock; then
scottyerror "Another instance of $(basename $0) is still running!"
exit 1
+else
+ trap deleteLock EXIT
fi
-echo $$ 1>&200