diff --git a/Archiv.7z b/Archiv.7z index bf6dad9..bc0fe29 100644 Binary files a/Archiv.7z and b/Archiv.7z differ diff --git a/README.md b/README.md index 703ad9b..9ac74e1 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Dieses Skript sichert regelmäßig Daten aus einer Nextcloud-Quelle in ein lokal - Synchronisiert ein Verzeichnis (`ptv-nextcloud:/DPV`) mit einem lokalen Ordner `./Backup/` - Verwendet `rclone --backup-dir`, um **ältere, geänderte oder gelöschte Dateien** in ein Archiv zu verschieben - Erstellt pro Lauf ein neues Archivverzeichnis unter `./Archiv/` -- Protokolliert alle Vorgänge in `log.txt` +- Protokolliert alle Vorgänge in rettedpv.log - Entfernt leere Verzeichnisse im Archiv ## 🧱 Verzeichnisstruktur @@ -17,10 +17,6 @@ Dieses Skript sichert regelmäßig Daten aus einer Nextcloud-Quelle in ein lokal ├── Backup/ # Aktueller Stand der Daten ├── Archiv/ │ └── 2025-07-03-15-30/ # Frühere Versionen -├── log.txt # Laufendes Logfile -│ -├── rotate.sh # optional: log.txt rotieren (gegen zu große Dateigrößen) -│ └── rettedpv.sh # Das Backup-Script ``` @@ -43,7 +39,8 @@ Dieses Skript sichert regelmäßig Daten aus einer Nextcloud-Quelle in ein lokal ## 🔍 Logging & Fehlerbehandlung -- Alle Logeinträge landen in `log.txt` +- Alle Logeinträge landen in `rettedpv.log` +- Die Log-Datei liegt im örtlichen Gitea/logger/Logs-Verzeichnis - Fehler von `rclone` erscheinen dort mit Zeitstempel - Leere Verzeichnisse im Archiv werden automatisch gelöscht - Das optionale Script "rotate.sh" rotiert log.txt und verhindert, dass die Datei zu groß wird. diff --git a/rettedpv.sh b/rettedpv.sh index b5b365f..b00201e 100644 --- a/rettedpv.sh +++ b/rettedpv.sh @@ -1,45 +1,39 @@ #!/bin/bash -cd /home/oberkoetter/Dokumente/Git/rettedpv +cd $GIT_PFAD/rettedpv # === Konfiguration === REMOTE="ptv-nextcloud:/DPV" BACKUP_DIR="./Backup" ARCHIVE_BASE="./Archiv" -LOGFILE="log.txt" +LOGFILE="$GIT_PFAD/logger/Logs/rettedpv.log" + +source $GIT_PFAD/logger/logger.sh +log_init $LOGFILE +log_start # === Zeitstempel & Archivverzeichnis === TIMESTAMP=$(date +%Y-%m-%d-%H-%M) ARCHIVE_DIR="${ARCHIVE_BASE}/${TIMESTAMP}" mkdir -p "$ARCHIVE_DIR" -# === Logging-Funktion === -log() { - echo "$(date '+%Y-%m-%d %H:%M:%S') $1" >> "$LOGFILE" - echo "-> $1" -} - # === Beginn der Sicherung === -log "" -log "" -log "🔁 Starte Datensicherung…" - -# Log rotieren? -log "ℹ️ log.txt rotieren?" -/bin/bash ./rotate.sh +log_info "" +log_info "" +log_info "🔁 Starte Datensicherung…" # === Synchronisierung mit rclone === gum spin --title "rclone läuft..." -- rclone sync "$REMOTE" "$BACKUP_DIR" \ --backup-dir="$ARCHIVE_DIR" \ --log-file="$LOGFILE" \ --log-level=INFO -log "ℹ️ ERR nach rclone: $?" +log_info "ℹ️ ERR nach rclone: $?" # === Aufräumen leerer Archivverzeichnisse === -log "🧹 Entferne leere Verzeichnisse in $ARCHIVE_BASE…" +log_info "🧹 Entferne leere Verzeichnisse in $ARCHIVE_BASE…" find "$ARCHIVE_BASE" -type d -empty -delete # === Ende der Sicherung === -log "✅ Datensicherung abgeschlossen." +log_info "✅ Datensicherung abgeschlossen." gum style --border normal --margin "1" --padding "1 2" --foreground 212 "✅ Backup abgeschlossen!"