2025-01-30 19:21:00 +00:00

65 lines
1.6 KiB
Bash

#!/bin/bash
if [[ $EUID -ne 0 ]]; then
echo "Dieses Skript muss mit sudo ausgeführt werden."
exit 1
fi
# Variablen
INSTALL_DIR="/opt/nextcloud_log_alert"
CONFIG_FILE="$INSTALL_DIR/config.conf"
SERVICE_FILE="/etc/systemd/system/nextcloud_log_alert.service"
PYTHON_SCRIPT="nextcloud_log_alert.py"
DEFAULT_LOG_FILE="/home/data/nextcloud.log"
# Erstellen des Installationsverzeichnisses
mkdir -p "$INSTALL_DIR"
# Verschieben des Python-Skripts
mv "$PYTHON_SCRIPT" "$INSTALL_DIR/"
chmod +x "$INSTALL_DIR/$PYTHON_SCRIPT"
# Benutzerabfragen
read -p "Bitte die WEBHOOK_URL eingeben: " WEBHOOK_URL
read -p "Bitte den Pfad zur Nextcloud-Logdatei eingeben (leer lassen für Standard: $DEFAULT_LOG_FILE): " LOG_FILE
# Standardwert setzen, falls keine Eingabe
if [ -z "$LOG_FILE" ]; then
LOG_FILE="$DEFAULT_LOG_FILE"
fi
# Erstellen der Konfigurationsdatei
echo "[SETTINGS]" > "$CONFIG_FILE"
echo "WEBHOOK_URL=$WEBHOOK_URL" >> "$CONFIG_FILE"
echo "LOG_FILE=$LOG_FILE" >> "$CONFIG_FILE"
chmod 600 "$CONFIG_FILE"
# Erstellen des Systemd-Service-Files
cat <<EOF > "$SERVICE_FILE"
[Unit]
Description=Nextcloud Log Alert Service
After=network.target
[Service]
ExecStart=/usr/bin/python3 $INSTALL_DIR/$PYTHON_SCRIPT
WorkingDirectory=$INSTALL_DIR
Restart=always
User=root
[Install]
WantedBy=multi-user.target
EOF
# Setzen der korrekten Berechtigungen
chmod 644 "$SERVICE_FILE"
# Systemd-Dienst aktivieren und starten
systemctl daemon-reload
systemctl enable nextcloud_log_alert.service
systemctl start nextcloud_log_alert.service
# Status des Dienstes anzeigen
systemctl status nextcloud_log_alert.service --no-pager
echo "Setup abgeschlossen!"