feat: Hinzufügen von Service-Management-Funktionen zum Installer-Skript für verbesserte Benutzerinteraktion und Log-Anzeige
This commit is contained in:
175
myp_installer.sh
175
myp_installer.sh
@@ -152,6 +152,181 @@ EOF
|
||||
fi
|
||||
}
|
||||
|
||||
# Service-Management
|
||||
manage_services() {
|
||||
show_header "Service-Management"
|
||||
|
||||
echo -e "${WHITE}MYP Service-Management${NC}"
|
||||
echo ""
|
||||
echo -e "${WHITE}1. Services starten${NC}"
|
||||
echo -e "${WHITE}2. Services stoppen${NC}"
|
||||
echo -e "${WHITE}3. Services neustarten${NC}"
|
||||
echo -e "${WHITE}4. Service-Status anzeigen${NC}"
|
||||
echo -e "${WHITE}5. Service-Logs anzeigen${NC}"
|
||||
echo -e "${WHITE}6. Services aktivieren (Autostart)${NC}"
|
||||
echo -e "${WHITE}7. Services deaktivieren${NC}"
|
||||
echo ""
|
||||
echo -e "${WHITE}9. Zurück zum Hauptmenü${NC}"
|
||||
echo ""
|
||||
|
||||
read -p "Wählen Sie eine Option (1-7, 9): " choice
|
||||
|
||||
case $choice in
|
||||
1)
|
||||
if [ $is_root -eq 1 ]; then
|
||||
echo -e "${BLUE}Starte MYP Services...${NC}"
|
||||
systemctl start myp.service
|
||||
systemctl start myp-kiosk-browser.service 2>/dev/null || true
|
||||
echo -e "${GREEN}✓ Services gestartet${NC}"
|
||||
else
|
||||
echo -e "${RED}Root-Rechte erforderlich${NC}"
|
||||
fi
|
||||
;;
|
||||
2)
|
||||
if [ $is_root -eq 1 ]; then
|
||||
echo -e "${BLUE}Stoppe MYP Services...${NC}"
|
||||
systemctl stop myp-kiosk-browser.service 2>/dev/null || true
|
||||
systemctl stop myp.service
|
||||
echo -e "${GREEN}✓ Services gestoppt${NC}"
|
||||
else
|
||||
echo -e "${RED}Root-Rechte erforderlich${NC}"
|
||||
fi
|
||||
;;
|
||||
3)
|
||||
if [ $is_root -eq 1 ]; then
|
||||
echo -e "${BLUE}Starte MYP Services neu...${NC}"
|
||||
systemctl restart myp.service
|
||||
systemctl restart myp-kiosk-browser.service 2>/dev/null || true
|
||||
echo -e "${GREEN}✓ Services neu gestartet${NC}"
|
||||
else
|
||||
echo -e "${RED}Root-Rechte erforderlich${NC}"
|
||||
fi
|
||||
;;
|
||||
4)
|
||||
echo -e "${BLUE}Service-Status:${NC}"
|
||||
echo ""
|
||||
echo -e "${WHITE}Backend Service (myp.service):${NC}"
|
||||
systemctl status myp.service --no-pager -l || true
|
||||
echo ""
|
||||
echo -e "${WHITE}Kiosk Service (myp-kiosk-browser.service):${NC}"
|
||||
systemctl status myp-kiosk-browser.service --no-pager -l 2>/dev/null || echo "Service nicht gefunden"
|
||||
;;
|
||||
5)
|
||||
echo -e "${BLUE}Service-Logs:${NC}"
|
||||
echo ""
|
||||
echo -e "${WHITE}Backend Logs (letzte 50 Zeilen):${NC}"
|
||||
journalctl -u myp.service -n 50 --no-pager || true
|
||||
echo ""
|
||||
echo -e "${WHITE}Kiosk Logs (letzte 20 Zeilen):${NC}"
|
||||
journalctl -u myp-kiosk-browser.service -n 20 --no-pager 2>/dev/null || echo "Keine Kiosk-Logs verfügbar"
|
||||
;;
|
||||
6)
|
||||
if [ $is_root -eq 1 ]; then
|
||||
echo -e "${BLUE}Aktiviere Services für Autostart...${NC}"
|
||||
systemctl enable myp.service
|
||||
read -p "Soll auch der Kiosk-Browser automatisch starten? (j/n): " enable_kiosk
|
||||
if [ "$enable_kiosk" = "j" ]; then
|
||||
systemctl enable myp-kiosk-browser.service 2>/dev/null || true
|
||||
fi
|
||||
echo -e "${GREEN}✓ Services für Autostart aktiviert${NC}"
|
||||
else
|
||||
echo -e "${RED}Root-Rechte erforderlich${NC}"
|
||||
fi
|
||||
;;
|
||||
7)
|
||||
if [ $is_root -eq 1 ]; then
|
||||
echo -e "${BLUE}Deaktiviere Services...${NC}"
|
||||
systemctl disable myp.service
|
||||
systemctl disable myp-kiosk-browser.service 2>/dev/null || true
|
||||
echo -e "${GREEN}✓ Services deaktiviert${NC}"
|
||||
else
|
||||
echo -e "${RED}Root-Rechte erforderlich${NC}"
|
||||
fi
|
||||
;;
|
||||
9)
|
||||
show_main_menu
|
||||
;;
|
||||
*)
|
||||
echo -e "${RED}Ungültige Option${NC}"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo ""
|
||||
read -p "Drücken Sie ENTER, um fortzufahren..."
|
||||
manage_services
|
||||
}
|
||||
|
||||
# Logs anzeigen
|
||||
show_logs() {
|
||||
show_header "Log-Anzeige"
|
||||
|
||||
echo -e "${WHITE}MYP Log-Anzeige${NC}"
|
||||
echo ""
|
||||
echo -e "${WHITE}1. Backend Service Logs (systemd)${NC}"
|
||||
echo -e "${WHITE}2. Kiosk Service Logs (systemd)${NC}"
|
||||
echo -e "${WHITE}3. Backend Application Logs${NC}"
|
||||
echo -e "${WHITE}4. Alle Logs (Live-Modus)${NC}"
|
||||
echo -e "${WHITE}5. Fehler-Logs${NC}"
|
||||
echo ""
|
||||
echo -e "${WHITE}9. Zurück zum Hauptmenü${NC}"
|
||||
echo ""
|
||||
|
||||
read -p "Wählen Sie eine Option (1-5, 9): " choice
|
||||
|
||||
case $choice in
|
||||
1)
|
||||
echo -e "${BLUE}Backend Service Logs:${NC}"
|
||||
journalctl -u myp.service -f --no-pager
|
||||
;;
|
||||
2)
|
||||
echo -e "${BLUE}Kiosk Service Logs:${NC}"
|
||||
journalctl -u myp-kiosk-browser.service -f --no-pager 2>/dev/null || echo "Kiosk-Service nicht gefunden"
|
||||
;;
|
||||
3)
|
||||
echo -e "${BLUE}Backend Application Logs:${NC}"
|
||||
if [ -d "$APP_DIR/logs" ]; then
|
||||
echo -e "${WHITE}Verfügbare Log-Dateien:${NC}"
|
||||
find "$APP_DIR/logs" -name "*.log" -type f | head -10
|
||||
echo ""
|
||||
read -p "Welche Log-Datei möchten Sie anzeigen? (Pfad eingeben): " log_file
|
||||
if [ -f "$log_file" ]; then
|
||||
tail -f "$log_file"
|
||||
else
|
||||
echo -e "${RED}Log-Datei nicht gefunden${NC}"
|
||||
fi
|
||||
else
|
||||
echo -e "${RED}Log-Verzeichnis nicht gefunden: $APP_DIR/logs${NC}"
|
||||
fi
|
||||
;;
|
||||
4)
|
||||
echo -e "${BLUE}Alle MYP Logs (Live-Modus):${NC}"
|
||||
echo -e "${YELLOW}Drücken Sie Ctrl+C zum Beenden${NC}"
|
||||
journalctl -u myp.service -u myp-kiosk-browser.service -f --no-pager
|
||||
;;
|
||||
5)
|
||||
echo -e "${BLUE}Fehler-Logs:${NC}"
|
||||
echo ""
|
||||
echo -e "${WHITE}Systemd Fehler:${NC}"
|
||||
journalctl -u myp.service -p err --no-pager | tail -20
|
||||
echo ""
|
||||
if [ -d "$APP_DIR/logs/errors" ]; then
|
||||
echo -e "${WHITE}Application Fehler:${NC}"
|
||||
find "$APP_DIR/logs/errors" -name "*.log" -type f -exec tail -10 {} \; 2>/dev/null || echo "Keine Fehler-Logs gefunden"
|
||||
fi
|
||||
;;
|
||||
9)
|
||||
show_main_menu
|
||||
;;
|
||||
*)
|
||||
echo -e "${RED}Ungültige Option${NC}"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo ""
|
||||
read -p "Drücken Sie ENTER, um fortzufahren..."
|
||||
show_logs
|
||||
}
|
||||
|
||||
show_header() {
|
||||
local title="$1"
|
||||
clear
|
||||
|
Reference in New Issue
Block a user