scripts/shutdown-notify

30 lines
614 B
Bash
Executable File

#!/bin/bash
set -euo pipefail # Strikte Fehlerbehandlung
# Check für Parameter
if [ -z "$1" ]; then
echo "Usage: $0 <minutes>"
exit 1
fi
MINS="$1" # Quote für safety
CREDS=$(cat /root/secret/ntfy.txt || exit 1) # Explizites error handling
TOPIC="KX8E5dbho7Q4VUVi-feed"
# Sende Notification
if ! curl -f -s \
-u "$CREDS" \
-d "Homeserver fährt in $MINS Minuten runter." \
-H "Title: Server Shutdown" \
-H "Priority: high" \
https://ntfy.sh/$TOPIC; then
echo "Failed to send notification"
exit 1
fi
# Warte auf Zustellung
sleep 5
# Führe Shutdown aus
shutdown "$MINS"