diff --git a/wg-manager.sh b/wg-manager.sh index f13ace2..1088a13 100755 --- a/wg-manager.sh +++ b/wg-manager.sh @@ -1,8 +1,10 @@ #!/bin/bash -e -LOCKFILE="/tmp/$0.lock" +APP=$(basename $0) +LOCKFILE="/tmp/$APP.lock" + trap "rm -f ${LOCKFILE}; exit" INT TERM EXIT -if ! ln -s $0 $LOCKFILE 2>/dev/null; then +if ! ln -s $APP $LOCKFILE 2>/dev/null; then echo "ERROR: script LOCKED" exit 15 fi @@ -57,6 +59,7 @@ function init { exit 1 fi + mkdir -p "$HOME_DIR/keys/${SERVER_NAME}" echo -n "$SERVER_ENDPOINT" > "keys/.server" if [ -f "keys/${SERVER_NAME}/private.key" ]; then @@ -64,8 +67,6 @@ function init { exit 0 fi - mkdir -p "$HOME_DIR/keys/${SERVER_NAME}" - echo -n "1" > "keys/.last_ip" wg genkey | tee "keys/${SERVER_NAME}/private.key" | wg pubkey > "keys/${SERVER_NAME}/public.key"