install.sh aktualisiert
This commit is contained in:
57
install.sh
57
install.sh
@ -1,44 +1,48 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Skript muss mit sudo ausgeführt werden
|
# Prüfen, ob das Skript mit sudo ausgeführt wird
|
||||||
if [[ $EUID -ne 0 ]]; then
|
if [[ $EUID -ne 0 ]]; then
|
||||||
echo "Dieses Skript muss mit sudo ausgeführt werden."
|
echo "Dieses Skript muss mit sudo ausgeführt werden."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Verzeichnisse definieren
|
# Variablen
|
||||||
INSTALL_DIR="/opt/nextcloud_log_alert"
|
INSTALL_DIR="/opt/nextcloud_log_alert"
|
||||||
CONF_FILE="$INSTALL_DIR/webhook.conf"
|
CONFIG_FILE="$INSTALL_DIR/config.conf"
|
||||||
SERVICE_FILE="/etc/systemd/system/nextcloud_log_alert.service"
|
SERVICE_FILE="/etc/systemd/system/nextcloud_log_alert.service"
|
||||||
PYTHON_SCRIPT="$INSTALL_DIR/nextcloud_log_alert.py"
|
PYTHON_SCRIPT="nextcloud_log_alert.py"
|
||||||
|
DEFAULT_LOG_FILE="/home/data/nextcloud.log"
|
||||||
|
|
||||||
# Verzeichnis erstellen
|
# Erstellen des Installationsverzeichnisses
|
||||||
mkdir -p "$INSTALL_DIR"
|
mkdir -p "$INSTALL_DIR"
|
||||||
|
|
||||||
# Prüfen, ob die Python-Datei vorhanden ist
|
# Verschieben des Python-Skripts
|
||||||
if [ ! -f "$PYTHON_SCRIPT" ]; then
|
mv "$PYTHON_SCRIPT" "$INSTALL_DIR/"
|
||||||
echo "Fehler: Die Datei $PYTHON_SCRIPT existiert nicht. Bitte stellen Sie sicher, dass das Skript im Installationsverzeichnis vorhanden ist."
|
chmod +x "$INSTALL_DIR/$PYTHON_SCRIPT"
|
||||||
exit 1
|
|
||||||
|
# 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
|
fi
|
||||||
|
|
||||||
# Webhook vom Nutzer abfragen
|
# Erstellen der Konfigurationsdatei
|
||||||
if [ ! -f "$CONF_FILE" ]; then
|
echo "WEBHOOK_URL=$WEBHOOK_URL" > "$CONFIG_FILE"
|
||||||
echo "Webhook-URL für Discord eingeben:"
|
echo "LOG_FILE=$LOG_FILE" >> "$CONFIG_FILE"
|
||||||
read -r webhook
|
chmod 600 "$CONFIG_FILE"
|
||||||
echo "WEBHOOK_URL=$webhook" | tee "$CONF_FILE" > /dev/null
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Rechte setzen
|
# Erstellen des Systemd-Service-Files
|
||||||
chmod +x "$PYTHON_SCRIPT"
|
cat <<EOF > "$SERVICE_FILE"
|
||||||
|
|
||||||
# Systemd-Service erstellen
|
|
||||||
tee "$SERVICE_FILE" > /dev/null <<EOF
|
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Nextcloud Log Alert Service
|
Description=Nextcloud Log Alert Service
|
||||||
After=network.target
|
After=network.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
ExecStart=/usr/bin/env python3 $PYTHON_SCRIPT
|
ExecStart=/usr/bin/python3 $INSTALL_DIR/$PYTHON_SCRIPT
|
||||||
|
WorkingDirectory=$INSTALL_DIR
|
||||||
Restart=always
|
Restart=always
|
||||||
User=root
|
User=root
|
||||||
|
|
||||||
@ -46,8 +50,15 @@ User=root
|
|||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# Service aktivieren und starten
|
# Setzen der korrekten Berechtigungen
|
||||||
|
chmod 644 "$SERVICE_FILE"
|
||||||
|
|
||||||
|
# Systemd-Dienst aktivieren und starten
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl enable nextcloud_log_alert.service
|
systemctl enable nextcloud_log_alert.service
|
||||||
systemctl start nextcloud_log_alert.service
|
systemctl start nextcloud_log_alert.service
|
||||||
systemctl status nextcloud_log_alert.service
|
|
||||||
|
# Status des Dienstes anzeigen
|
||||||
|
systemctl status nextcloud_log_alert.service --no-pager
|
||||||
|
|
||||||
|
echo "Setup abgeschlossen!"
|
Reference in New Issue
Block a user