65 lines
1.6 KiB
Bash
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!" |