53 lines
1.3 KiB
Bash
53 lines
1.3 KiB
Bash
#!/bin/bash
|
|
|
|
# Skript muss mit sudo ausgeführt werden
|
|
if [[ $EUID -ne 0 ]]; then
|
|
echo "Dieses Skript muss mit sudo ausgeführt werden."
|
|
exit 1
|
|
fi
|
|
|
|
# Verzeichnisse definieren
|
|
INSTALL_DIR="/opt/nextcloud_log_alert"
|
|
CONF_FILE="$INSTALL_DIR/webhook.conf"
|
|
SERVICE_FILE="/etc/systemd/system/nextcloud_log_alert.service"
|
|
PYTHON_SCRIPT="$INSTALL_DIR/nextcloud_log_alert.py"
|
|
|
|
# Verzeichnis erstellen
|
|
mkdir -p "$INSTALL_DIR"
|
|
|
|
# Prüfen, ob die Python-Datei vorhanden ist
|
|
if [ ! -f "$PYTHON_SCRIPT" ]; then
|
|
echo "Fehler: Die Datei $PYTHON_SCRIPT existiert nicht. Bitte stellen Sie sicher, dass das Skript im Installationsverzeichnis vorhanden ist."
|
|
exit 1
|
|
fi
|
|
|
|
# Webhook vom Nutzer abfragen
|
|
if [ ! -f "$CONF_FILE" ]; then
|
|
echo "Webhook-URL für Discord eingeben:"
|
|
read -r webhook
|
|
echo "WEBHOOK_URL=$webhook" | tee "$CONF_FILE" > /dev/null
|
|
fi
|
|
|
|
# Rechte setzen
|
|
chmod +x "$PYTHON_SCRIPT"
|
|
|
|
# Systemd-Service erstellen
|
|
tee "$SERVICE_FILE" > /dev/null <<EOF
|
|
[Unit]
|
|
Description=Nextcloud Log Alert Service
|
|
After=network.target
|
|
|
|
[Service]
|
|
ExecStart=/usr/bin/env python3 $PYTHON_SCRIPT
|
|
Restart=always
|
|
User=root
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
EOF
|
|
|
|
# Service aktivieren und starten
|
|
systemctl daemon-reload
|
|
systemctl enable nextcloud_log_alert.service
|
|
systemctl start nextcloud_log_alert.service
|
|
systemctl status nextcloud_log_alert.service |