Compare commits

..
11 Commits
Author SHA1 Message Date
admin f07368b410 Änderung der Logdateimeldung
Die Logdatei werden nun bei jedem Fehler aktualisiert.
2025-12-18 09:16:24 +01:00
admin 0819331c2a PiCam/move_file_mount.sh aktualisiert
Issue #1 Prozentanzeige behoben
2025-12-16 06:26:40 +01:00
admin 3c44716253 PiCam/README aktualisiert 2025-12-08 19:09:31 +01:00
admin 5cd68fe317 PiCam/move_file_mount.sh aktualisiert 2025-12-07 23:55:16 +01:00
admin b71ed56ded PiCam/move_file_mount.sh aktualisiert
Speicherplatz Prüfung hinzugefügt
2025-12-07 22:24:43 +01:00
admin 00efab2ba0 revert 70410aa08b
revert PiCam/move_file_mount.sh aktualisiert

Speicherplatzprüfung hinzugefügt
2025-12-07 22:23:44 +01:00
admin 9e3e4e1ac3 revert fd6598fba9
revert PiCam/move_file_mount.sh aktualisiert
2025-12-07 22:23:06 +01:00
admin fd6598fba9 PiCam/move_file_mount.sh aktualisiert 2025-12-07 22:15:05 +01:00
admin 70410aa08b PiCam/move_file_mount.sh aktualisiert
Speicherplatzprüfung hinzugefügt
2025-12-07 22:09:51 +01:00
admin 9685c4ce8d PiCam/README hinzugefügt 2025-12-06 22:53:33 +01:00
admin 311c8f37d7 Dateien nach "PiCam" hochladen 2025-12-06 22:44:18 +01:00
6 changed files with 69 additions and 220 deletions
+3
View File
@@ -0,0 +1,3 @@
In diesen Ordner werden Scripts für PiCam hinterlegt.
move_file_mount.sh verschiebt die Videodateien auf das NAS.
+66
View File
@@ -0,0 +1,66 @@
#!/bin/bash
#(c) by CeMunzIT (Christopher Münzer)
MNT="/mnt/video" #Zielverzeichnis zum Sichern
HDR="/home/pi" #Heimatverzeichnis
#Arbeitsvariable
DATE="$(date +%Y-%m-%d)"
TIMESTAMP="$(date +%Y-%m-%d_%H-%M-%S)"
SOURCE_DIR="$HDR/Monitor"
TARGET_DIR="$MNT/$DATE"
LOG_DIR="$HDR/log"
LOGFILE="$LOG_DIR/$DATE.log"
ERROR="!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!"
#Logverzeichnis vorhanden/erstellen
if [ ! -d "$LOG_DIR" ]; then
mkdir -p $LOG_DIR
fi
#Prüfung Mount vorhanden
if mountpoint -q "$MNT"; then
echo "" >> "$LOGFILE" 2>&1
echo "$TIMESTAMP Mountverzeichnis vorhanden" >> "$LOGFILE" 2>&1
else
echo "" >> "$LOGFILE" 2>&1
echo "$TIMESTAMP kein Mountpfad auf $MNT gefunden" >> "$LOGFILE" 2>&1
echo "$ERROR" >> "$LOGFILE" 2>&1
exit 1
fi
#Verfügbarer Speicherplatz am Zielverzeichnis
SPL=$(df -h $MNT | grep $MNT | tr -s ' ' | cut -d ' ' -f 5 | tr -d '%')
if [ "$SPL" -le 90 ]; then
echo "$TIMESTAMP Speicherplatz bei $SPL %" >> "$LOGFILE" 2>&1
else
echo "$TIMESTAMP Nicht genug Speicherplatz auf dem Zielverzeichnis" >> "$LOGFILE" 2>&1
echo "$ERROR" >> "$LOGFILE" 2>&1
exit 1
fi
#Zielverzeichnis mit Datum anlegen oder vorhanden
if [ ! -d "$TARGET_DIR" ]; then
mkdir -p $TARGET_DIR
echo "$TIMESTAMP Neuer Ordner in: $TARGET_DIR erstellt" >> "$LOGFILE" 2>&1
else
echo "$TIMESTAMP Ordner vorhanden" >> "$LOGFILE" 2>&1
fi
sleep 2
#Dateien verschieben
mv -v $SOURCE_DIR/* $TARGET_DIR/ >> "$LOGFILE" 2>&1
#Prüfen ob das Verschieben erfolgreich war oder nicht
if [ $? -eq 0 ]; then
echo "$TIMESTAMP Verschieben Erfolgreich!" >> "$LOGFILE" 2>&1
else
echo "$TIMESTAMP Verschieben Fehlgeschlagen!" >> "$LOGFILE" 2>&1
echo "$ERROR" >> "$LOGFILE" 2>&1
exit 1
fi
sleep 2
echo "------------------------------------------------------------------------------------------------------------------------------" >> "$LOGFILE" 2>&1
-30
View File
@@ -1,30 +0,0 @@
#!/bin/bash
#(c) Christopher Münzer DB InfraGo Betriebszentrale Duisburg
clear
echo "Willkommen beim Tool für das bespielen des ISBP Installationssticks"
sleep 3
echo "Auf welchem Gerät soll der Befehl ausgeführt werden?"
echo "a) /dev/sda"
echo "b) /dev/sdb"
echo -n "Ihre Wahl (a/b): "
read -r choice
case $choice in
a|A)
device="/dev/sda"
;;
b|B)
device="/dev/sdb"
;;
*)
echo "Ungültige Eingabe!"
exit 1
;;
esac
IMAGE=/tmp/win_isbp_24_3_1_3.img
dd if="$IMAGE" of="$device" status=progress
-31
View File
@@ -1,31 +0,0 @@
#!/bin/bash
echo "==== WIREGUARD CONTROL ===="
echo "1) Start Wireguard"
echo "2) Stop Wireguard"
echo "3) Status Wireguard"
echo "4) Exit"
read -p "Wähle Option 1-4 " choice
case "$choice" in
1)
sudo wg-quick up wg0
;;
2)
sudo wg-quick down wg0
;;
3)
sudo wg show
;;
4)
exit 0
;;
*)
echo "Ungültige auswahl"
;;
esac
read -p "Drücke Enter um fortzufahren"
-115
View File
@@ -1,115 +0,0 @@
#!/bin/bash
# (c) Christopher Münzer DB InfraGo Betriebszentrale Duisburg
USB_DEVICE="/dev/sda" # Ändern Sie dies zu Ihrem USB-Stick
OUTPUT_ISO="windows_isbpn_$(date +%Y%m%d).iso"
LOG="/tmp/log.txt"
touch $LOG
echo "1. Analysiere USB-Stick..." >> $LOG
sudo fdisk -l "$USB_DEVICE"
echo "2. Erstelle temporäre Verzeichnisse..." >> $LOG
TEMP_DIR=$(mktemp -d)
mkdir -p "$TEMP_DIR"/{mount1,mount2,iso}
echo "3. Identifiziere Bootloader-Dateien..." >> $LOG
# Boot-Sektor sichern (für BIOS-Boot)
sudo dd if="$USB_DEVICE" of="$TEMP_DIR/bootsect.bin" bs=512 count=1 2>/dev/null
echo "4. Mounte und kopiere Partitionen..." >> $LOG
# Erste Partition mounten (normalerweise FAT32/EFI)
PARTITION_COUNT=$(sudo fdisk -l "$USB_DEVICE" | grep "^/dev" | wc -l)
if [ $PARTITION_COUNT -ge 1 ]; then
echo " - Kopiere Partition 1..." >> $LOG
sudo mount "${USB_DEVICE}1" "$TEMP_DIR/mount1" 2>/dev/null
if mountpoint -q "$TEMP_DIR/mount1"; then
sudo cp -r "$TEMP_DIR"/mount1/* "$TEMP_DIR/iso/" 2>/dev/null
sudo umount "$TEMP_DIR/mount1" 2>/dev/null
fi
fi
if [ $PARTITION_COUNT -ge 2 ]; then
echo " - Kopiere Partition 2..." >> $LOG
sudo mount "${USB_DEVICE}2" "$TEMP_DIR/mount2" 2>/dev/null
if mountpoint -q "$TEMP_DIR/mount2"; then
sudo cp -r "$TEMP_DIR"/mount2/* "$TEMP_DIR/iso/" 2>/dev/null
sudo umount "$TEMP_DIR/mount2" 2>/dev/null
fi
fi
echo "5. Suche nach Bootloader-Dateien..." >> $LOG
# Typische Windows-Boot-Dateien
BOOT_FILES=(
"bootmgr"
"bootmgr.efi"
"efi/boot/bootx64.efi"
"efi/boot/bootia32.efi"
"efi/microsoft/boot/bootmgfw.efi"
"boot/bcd"
"boot/boot.sdi"
)
BOOT_IMAGE=""
for file in "${BOOT_FILES[@]}"; do
if [ -f "$TEMP_DIR/iso/$file" ]; then
echo " Gefunden: $file"
if [[ "$file" == *.efi ]] || [[ "$file" == *.bin ]]; then
BOOT_IMAGE="$file"
fi
fi
done
echo "6. Erstelle bootfähige ISO..." >> $LOG
if [ -n "$BOOT_IMAGE" ]; then
echo " Verwende Boot-Image: $BOOT_IMAGE" >> $LOG
sudo genisoimage \
-b "$BOOT_IMAGE" \
-no-emul-boot \
-boot-load-size 8 \
-iso-level 3 \
-udf \
-allow-limited-size \
-J -l -D -N \
-joliet-long \
-relaxed-filenames \
-o "$OUTPUT_ISO" \
"$TEMP_DIR/iso"
else
echo " Kein Boot-Image gefunden, erstelle nicht-bootfähige ISO..." >> $LOG
sudo genisoimage \
-iso-level 3 \
-udf \
-allow-limited-size \
-J -l -D -N \
-joliet-lo ng \
-relaxed-filenames \
-o "$OUTPUT_ISO" \
"$TEMP_DIR/iso"
echo " Hinweis: ISO ist nicht bootfähig. Für bootfähige ISO müssen Sie:"
echo " 1. Windows ADK auf einem Windows-System verwenden"
echo " 2. Oder die originale Windows ISO mit Ihren Dateien neu erstellen"
fi
echo "7. Aufräumen..." >> $LOG
sudo rm -rf "$TEMP_DIR"
echo "8. Prüfe ISO..." >> $LOG
if [ -f "$OUTPUT_ISO" ]; then
echo "Fertig! ISO erstellt: $OUTPUT_ISO" >> $LOG
echo "Größe: $(ls -lh "$OUTPUT_ISO" | awk '{print $5}')"
# Teste ISO-Struktur
echo "ISO-Struktur:"
isoinfo -i "$OUTPUT_ISO" -l 2>/dev/null | head -20 || \
xorriso -indev "$OUTPUT_ISO" -toc 2>/dev/null | head -20 || \
echo "Kann ISO nicht lesen, aber Datei wurde erstellt." >> $LOG
else
echo "FEHLER: ISO wurde nicht erstellt!" >> $LOG
fi
-44
View File
@@ -1,44 +0,0 @@
#!/bin/bash
# (c) Christopher Münzer DB InfraGo Betriebszentrale Duisburg
USB_DEVICE="/dev/sda"
OUTPUT_ISO="windows_$(date +%Y%m%d).iso"
echo "1. Analysiere USB-Stick..."
sudo fdisk -l "$USB_DEVICE"
echo "2. Erstelle temporäre Verzeichnisse..."
TEMP_DIR=$(mktemp -d)
mkdir -p "$TEMP_DIR"/{mount1,mount2,iso}
echo "3. Kopiere Boot-Sektion..."
sudo dd if="$USB_DEVICE" of="$TEMP_DIR/bootsect.bin" bs=512 count=1
echo "4. Mounte und kopiere Partitionen..."
# Erste Partition (normalerweise FAT32/EFI)
sudo mount "${USB_DEVICE}1" "$TEMP_DIR/mount1" 2>/dev/null
sudo cp -r "$TEMP_DIR"/mount1/* "$TEMP_DIR/iso/" 2>/dev/null
# Zweite Partition (normalerweise NTFS/Installation)
sudo mount "${USB_DEVICE}2" "$TEMP_DIR/mount2" 2>/dev/null
sudo cp -r "$TEMP_DIR"/mount2/* "$TEMP_DIR/iso/" 2>/dev/null
echo "5. Erstelle bootfähige ISO..."
sudo genisoimage \
-b efi/microsoft/boot/efisys.bin \
-no-emul-boot \
-boot-load-size 8 \
-iso-level 3 \
-udf \
-allow-limited-size \
-J -l -D -N \
-joliet-long \
-relaxed-filenames \
-o "$OUTPUT_ISO" \
"$TEMP_DIR/iso"
echo "6. Aufräumen..."
sudo umount "$TEMP_DIR"/mount* 2>/dev/null
sudo rm -rf "$TEMP_DIR"
echo "Fertig! ISO erstellt: $OUTPUT_ISO"