Eine elegante Lösung zum Übertragen zwischen zwei Cloudservern mit WebDAV-Zugang.
Dieses Projekt überbrückt die Lücke zwischen der FTP-Upload-Funktionalität von Reolink-Kameras und Cloud-Servern, die nur über WebDAV erreichbar sind. So wird sichergestellt, dass Ihre Überwachungsaufnahmen sicher gespeichert und leicht zugänglich sind.
- 📂 Intelligente Dateiübertragung: Prüft das Alter der Dateien vor der Übertragung
- ⏳ Anpassbare Verzögerung: Legen Sie Ihre bevorzugte Übertragungsverzögerung fest
- 📱 Fehlerbenachrichtigungen: Optionale Telegram-Integration für Benachrichtigungen
- 📊 Monitoring-Integration: Kompatibel mit Tools wie Uptime Kuma
- ✅ Überprüfungen: Bestätigt erfolgreiche Dateiübertragungen
- 📁 Dateifokus: Überträgt einzelne Dateien, keine Verzeichnisse
- 🌐 Zugriff auf einen Server mit Internetverbindung (z.B. vServer, Homelab, Raspberry Pi)
- 🖥️ Shell-Zugriff
- 🔑 Zwei WebDAV-Konten
- 🤖 Telegram Bot Token (optional)
- 📈 Monitoring-Tool (z.B. Uptime Kuma, optional)
-
Überprüfen Sie, ob cURL installiert ist:
curl --version
-
Falls nötig, installieren Sie cURL:
sudo apt update && sudo apt upgrade sudo apt install curl -
Erstellen und bearbeiten Sie das Script:
nano transfer.sh
-
Fügen Sie den Inhalt des Scripts ein und konfigurieren Sie Ihre Einstellungen (siehe unten).
-
Machen Sie das Script ausführbar:
chmod +x transfer.sh
-
Führen Sie das Script aus:
./transfer.sh
Bearbeiten Sie die folgenden Variablen in transfer.sh:
SOURCE_BASE_URLWebDAV URL (https://webdav.beispiel1.tld)SOURCE_SUBDIRggfs. UnterverzeichnisSOURCE_USE_SUBDIRtrue/false (wenn Unterverzeichnisse verwendet werden)SOURCE_USERBenutzerSOURCE_PASSKennwort
DEST_BASE_URLWebDAV URL (https://webdav.beispiel2.tld)DEST_SUBDIRggfs. UnterverzeichnisDEST_USE_SUBDIRtrue/false (wenn Unterverzeichnisse verwendet werden)DEST_USERBenutzerDEST_PASSKennwort
TRANSFER_TIMEAlter einer Datei bis zum TransferCASE_SENSITIVtrue/false (Klein- und Großschreibung relevant)TELEGRAM_BOT_TOKENTelegram Bot TokenTELEGRAM_CHAT_IDSTelegram Chat IDUPTIME_KUMA_URLUptime Kuma Push URLTZZeitzone
Sie können das Script automatisch ausführen. Für eine Ausführung alle 5 Minuten verwenden Sie zum Beispiel folgenden Cron-Tab Eintrag. Es empfielt sich, die selbe Zeit wie im Script zu nutzen
crontab -e*/5 * * * * /pfad/zum/script/transfer.shTesten Sie das Script immer mit gesicherten Dateien, bevor Sie es mit wichtigen Daten ausführen.
Bei Problemen, Fragen oder Beiträgen öffnen Sie bitte ein Issue in diesem GitHub-Repository.
Dieses Projekt steht unter der MIT-Lizenz - siehe die LICENSE Datei für Details.
Hergestellt mit ❤️ von qttx-dev