Cronjob für rsync erstellen (für Anfänger)

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Ich fürchte, den Begriff "inkrementell" habe ich falsch verwendet – sorry. Ich meine, dass rsync jeden Sonntag um 10 Uhr nur diejenigen Dateien von hdd nach hdd1 kopieren soll, die verändert wurden oder neu hinzugekommen sind.
      Zu löschen braucht es gar nichts – Veraltetes auf dem Ziellaufwerk würde ich alle paar Wochen mal händisch löschen.
      Ich werde rsync › Wiki › ubuntuusers.de studieren, was rsync kann. (Online bin ich, aber weg von der Box ...)
      (Ich kenne das Wort von den inkrementellen Backups, die PersonalBackup täglich am PC ausführt: Sonntäglich alle meine docx, xls etc., MO bis SA dann nur, was sich gegenüber diesem Full Backup geändert hat – macht 7 Verzeichnisse pro Woche. In der nächsten und übernächsten Woche das gleiche auf 2 anderen HDDs. Das wäre im Grunde auch an der VU ideal, aber ...)
      ________________________________
      • Vu+ Duo 4K (2019) - SSD Samsung EVO 870 1TB
      • Vu+ Uno 4K SE (2022) - SSD Samsung EVO 870 500GB
      • Vu+ Uno 4K SE (2023) - SSD Samsung EVO 870 500GB

      Image: VTi-Team Image 15.0.02 (2022-12-15-vti-master (99a40fe7d))
      Erweiterungen: AutomaticFullBackup | Automove | Dateimanager-VTi | EMC | FritzCall | MultiQuickButton | OpenWebif | PiconManager | Serienrecorder | SmartEPGvu+ | VPS | VU+Remote
    • Hemingway schrieb:

      Ich meine, dass rsync jeden Sonntag um 10 Uhr nur diejenigen Dateien von hdd nach hdd1 kopieren soll, die verändert wurden oder neu hinzugekommen sind.
      Nur die neuen oder geänderten Dateien zu kopieren ist genau das, wofür es rsync gibt.
      Dies dann am Sonntag um 10:00 Uhr zu machen ist dann die Aufgabe der Steuerung durch Cron oder eine VTI-Aufgabe.
    • Die rsync-Optionen habe ich jetzt gelesen und (hoffentlich) verstanden.
      • Was ich nicht gefunden habe, ist eine Option "Verzeichnisstruktur ins Zielverzeichnis übernehmen" (s.u.).
      • Bei -u muss ich in der Praxis ausprobieren, ob ich das brauchen kann.

      Zum Testen habe ich das Script erst einmal so verändert:
      #!/bin/sh
      /usr/bin/rsync -av --ignore-existing --exclude=/media/hdd1/movie/_del/yz/ /media/hdd/movie/_del/ /media/hdd1/movie/_del/, wie bekannt auf die Box kopiert und mit /home/root/as-test.sh gestartet.

      Logischerweise kam wieder die Fehlermeldung wie in #17, wo RickX schrieb:
      "Im Aufruf von rsync werden Quell- und Zielverzeichnis als Parameter angeben. Die muss es natürlich auch geben."
      Das ist natürlich ein Problem, wenn man auf der Box einen neuen Ordner anlegt und der beim automatischen Spiegeln zum Script-Abbruch führt. Muss man also die Verzeichnisstruktur tatsächlich händisch pflegen?
      ________________________________
      • Vu+ Duo 4K (2019) - SSD Samsung EVO 870 1TB
      • Vu+ Uno 4K SE (2022) - SSD Samsung EVO 870 500GB
      • Vu+ Uno 4K SE (2023) - SSD Samsung EVO 870 500GB

      Image: VTi-Team Image 15.0.02 (2022-12-15-vti-master (99a40fe7d))
      Erweiterungen: AutomaticFullBackup | Automove | Dateimanager-VTi | EMC | FritzCall | MultiQuickButton | OpenWebif | PiconManager | Serienrecorder | SmartEPGvu+ | VPS | VU+Remote
    • ich würde vermuten, dass der Zielpfad existieren muss. Verzeichnisse darunter werden aber von rsync angelegt. (Ich vermute mal movie existiert nicht im Ziel )

      Du kannst mit

      mkdir -p /media/hdd1/movie/_del/

      das Verzeichnis anlegen. Die Option sorgt dafür, dass alle Verzeichnisse unterwegs, die noch fehlen, auch angelegt werden. Ausserdem gibt es keinen Fehler, wenn das Verzeichnis bereits existiert

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von promike ()

    • Genau das war's - danke für den Hinweis! Das hat ja auch seine Logik, dass wenigstens das Zielverzeichnis von vornherein angelegt sein muss.
      Damit ist das Script erst mal erstellt, und ich will ein paar Tage ausprobieren, wie es sich bewährt. Dann kommt der Cronjob dran, wie in #3 beschrieben. Melde mich dann wieder!
      ________________________________
      • Vu+ Duo 4K (2019) - SSD Samsung EVO 870 1TB
      • Vu+ Uno 4K SE (2022) - SSD Samsung EVO 870 500GB
      • Vu+ Uno 4K SE (2023) - SSD Samsung EVO 870 500GB

      Image: VTi-Team Image 15.0.02 (2022-12-15-vti-master (99a40fe7d))
      Erweiterungen: AutomaticFullBackup | Automove | Dateimanager-VTi | EMC | FritzCall | MultiQuickButton | OpenWebif | PiconManager | Serienrecorder | SmartEPGvu+ | VPS | VU+Remote
    • Merkwürdig: warum wird die exclude-Angabe nicht beachtet?
      /usr/bin/rsync -av --ignore-existing --exclude=/media/hdd/movie/_del/yz/ /media/hdd/movie/_del/ /media/hdd1/movie/_del/
      Dateien
      • Scr_409.jpg

        (113,7 kB, 6 mal heruntergeladen, zuletzt: )
      ________________________________
      • Vu+ Duo 4K (2019) - SSD Samsung EVO 870 1TB
      • Vu+ Uno 4K SE (2022) - SSD Samsung EVO 870 500GB
      • Vu+ Uno 4K SE (2023) - SSD Samsung EVO 870 500GB

      Image: VTi-Team Image 15.0.02 (2022-12-15-vti-master (99a40fe7d))
      Erweiterungen: AutomaticFullBackup | Automove | Dateimanager-VTi | EMC | FritzCall | MultiQuickButton | OpenWebif | PiconManager | Serienrecorder | SmartEPGvu+ | VPS | VU+Remote
    • Die rsync Manual-Page sagt:

      --exclude=PATTERN exclude files matching PATTERN

      Hinter --exclude wird also kein Directory-Name erwartet, sondern ein PATTERN für Namen, die ausgeschlossen werden sollen.
      Du könntest es probieren mit

      --exclude='/media/hdd/movie/_del/yz/*'

      Die Anführungsstriche beachten, da die Shell sonst den * schon beim Aufruf ersetzen würde.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von RickX ()

    • Danke für den Hinweis. Ich hatte das Manual ja durchaus gelesen, aber mich an den Zeilen drunter orientiert:
      --exclude=Muster schließt ein bestimmtes Muster von der Sicherung aus
      --exclude=ORDNER1 --exclude=ORDNER2 schließt ORDNER1 und ORDNER2 von der Sicherung aus
      habe aber den Hinweis weiter unten nicht durchdacht: "Verzeichnisse von der Sicherung ausschließen". Da wird's richtig kompliziert. Diesen Hinweisen folgend werde ich jetzt ändern zu
      ...--exclude=/yz/....
      Das kann ich aber leider erst später ausprobieren.
      ________________________________
      • Vu+ Duo 4K (2019) - SSD Samsung EVO 870 1TB
      • Vu+ Uno 4K SE (2022) - SSD Samsung EVO 870 500GB
      • Vu+ Uno 4K SE (2023) - SSD Samsung EVO 870 500GB

      Image: VTi-Team Image 15.0.02 (2022-12-15-vti-master (99a40fe7d))
      Erweiterungen: AutomaticFullBackup | Automove | Dateimanager-VTi | EMC | FritzCall | MultiQuickButton | OpenWebif | PiconManager | Serienrecorder | SmartEPGvu+ | VPS | VU+Remote
    • --exclude='/media/hdd/movie/_del/yz/*' hat das Quellverzeichnis /yz/ nicht ausgeschlossen, sondern wieder gespiegelt.
      --exclude=/yz/ hat das Quellverzeichnis /yz/ wunschgemäß ausgeschlossen.
      ________________________________
      • Vu+ Duo 4K (2019) - SSD Samsung EVO 870 1TB
      • Vu+ Uno 4K SE (2022) - SSD Samsung EVO 870 500GB
      • Vu+ Uno 4K SE (2023) - SSD Samsung EVO 870 500GB

      Image: VTi-Team Image 15.0.02 (2022-12-15-vti-master (99a40fe7d))
      Erweiterungen: AutomaticFullBackup | Automove | Dateimanager-VTi | EMC | FritzCall | MultiQuickButton | OpenWebif | PiconManager | Serienrecorder | SmartEPGvu+ | VPS | VU+Remote
    • Guten Abend, ich habe jetzt in meinem Testskript den CP-Befehl ausprobiert, wie er in cp › Wiki › ubuntuusers.de erklärt wird.
      Die beiden Optionen
      -a oder --archive Beibehaltung von Besitzer-, Gruppen- und Zugriffsrechten und Erstellungs-, Modifikations- und Zugriffsdaten (entspricht -dR --preserve=all)
      und
      -u oder --update kopiert nur, wenn Zieldatei älter als Quelldate
      fände ich sinnvoll.
      Also heißt der Skript-Befehl je nach Variante
      cp -au /home/root/vtidb.db /home/root/hdd/backup/
      oder
      cp -a --update /home/root/vtidb.db /home/root/hdd/backup/.
      Aber keine der beiden Versionen wird ausgeführt. Beide bringen im PuTTY-Fenster die Meldung (sorry, ohne Zeilenumbrüche abgeschickt, aber Ihr kennt das ja sowieso auswendig ...)
      cp: invalid option -- 'u'BusyBox v1.23.2 (2018-11-13 12:50:00 CET) multi-call binary.Usage: cp [OPTIONS] SOURCE... DESTCopy SOURCE(s) to DEST -a Same as -dpR -R,-r Recurse -d,-P Preserve symlinks (default if -R) -L Follow all symlinks -H Follow symlinks on command line -p Preserve file attributes if possible -f Overwrite -i Prompt before overwrite -l,-s Create (sym)links
      Was habe ich falsch gemacht?
      ________________________________
      • Vu+ Duo 4K (2019) - SSD Samsung EVO 870 1TB
      • Vu+ Uno 4K SE (2022) - SSD Samsung EVO 870 500GB
      • Vu+ Uno 4K SE (2023) - SSD Samsung EVO 870 500GB

      Image: VTi-Team Image 15.0.02 (2022-12-15-vti-master (99a40fe7d))
      Erweiterungen: AutomaticFullBackup | Automove | Dateimanager-VTi | EMC | FritzCall | MultiQuickButton | OpenWebif | PiconManager | Serienrecorder | SmartEPGvu+ | VPS | VU+Remote

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Hemingway ()

    • Ein ausgewachsenes cp gibt's im coreutils-Paket: cp Befehl, Option - Busybox stellt zwar ein cp zur Verfügung, das kennt (wie alle Busybox-Befehle) aber nur die am meisten benutzten Optionen. Dabei ist Speicherplatz bei den 4k-Boxen kein Thema - ich verstehe nicht, dass immer noch Busybox mitgeliefert wird.

      Wenn dein (soweit ich das gesehen habe auch schon angestaubtes) rsync nicht alles kann, was es können sollte: ich kann eine aktuelle Version übersetzen und hier einstellen.
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von rdamas ()

    • rsync funktioniert schon richtig und lässt mir, soweit ich das bisher ausprobiert habe, keine Wünsche offen.
      Es ist die Version, die man mir am Anfang genannt hat: Rsync für 4K-Boxen (in Automove ... Post 497)

      Keine Ahnung, ob das "angestaubt" ist, Nachteile bringt und erneuert werden müsste.

      Jetzt wollte ich - zum Lernen - einige Einzeldateien (keine Unterverzeichnisse, aber mit Namenvarianten (nam* = nam, name, namo, namen ...)) kopieren und dachte, dafür sei der cp-Befehl das Richtige. Damit hab ich aber offenbar in ein Wespennest gestochen ...
      Kopiert werden sollen nur neuere Dateien als im Ziel schon vorhanden, ohne Nachfrage zu überschreiben.
      Das Zielverzeichnis habe ich "neben" /lost+found/, /movie/, /movie_trash/ angelegt, dann kann ich später einfach mit einem einzigen rsync-Auftrag /media/hdd/ nach /media/hdd1/ spiegeln.

      Mit rsync hätte ich wohl auch wie gewünscht kopieren können (-uv --ignore-existing), aber -a hätte doch Unterverzeichnisse mitkopiert?
      Müsste ich dann also statt -a schreiben -lptgoD?

      Oder kurz gefasst: Da dies hier gut funktioniert:
      /usr/bin/rsync -av --ignore-existing --exclude=/yz/ /media/hdd/movie/_del/ /media/hdd1/movie/_del/,

      könnte der entsprechende Kopierbefehl vorläufig so heißen:
      /usr/bin/rsync -uv --ignore-existing /media/etc/enigma2/userbouquet*.tv /media/hdd/backup/?

      Beim Testen kommen aber wieder error messages:
      "rsync: change_dir "/media/etc/enigma2" failed: No such file or directory (2)
      sent 18 bytes received 12 bytes 60.00 bytes/sec
      total size is 0 speedup is 0.00
      rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1165) [sender=3.1.2dev]"
      ________________________________
      • Vu+ Duo 4K (2019) - SSD Samsung EVO 870 1TB
      • Vu+ Uno 4K SE (2022) - SSD Samsung EVO 870 500GB
      • Vu+ Uno 4K SE (2023) - SSD Samsung EVO 870 500GB

      Image: VTi-Team Image 15.0.02 (2022-12-15-vti-master (99a40fe7d))
      Erweiterungen: AutomaticFullBackup | Automove | Dateimanager-VTi | EMC | FritzCall | MultiQuickButton | OpenWebif | PiconManager | Serienrecorder | SmartEPGvu+ | VPS | VU+Remote

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Hemingway ()

    • Hemingway schrieb:

      rsync: change_dir "/media/etc/enigma2" failed: No such file or directory (2)
      Das Quellverzeichnis lautet /etc… und nicht /media/etc…
      Außerdem gibt es dafür ein Plugin Automaticfullbackup. Das sichert dir dein gesamtes Image incl. dieser Dateien
      Rechtschreibfehler sind beabsichtigt, sie fördern ein genaueres Lesen
      Debug Log aktivieren Putty Telnet Screenshots erstellen

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von hajeku123 ()

    • Super - danke! Das Plugin werde ich heute Abend ausprobieren. Das mit den Pfadangaben muss ich noch üben (und nicht von MS-DOS-Gewohnheiten übertragen ...).
      ________________________________
      • Vu+ Duo 4K (2019) - SSD Samsung EVO 870 1TB
      • Vu+ Uno 4K SE (2022) - SSD Samsung EVO 870 500GB
      • Vu+ Uno 4K SE (2023) - SSD Samsung EVO 870 500GB

      Image: VTi-Team Image 15.0.02 (2022-12-15-vti-master (99a40fe7d))
      Erweiterungen: AutomaticFullBackup | Automove | Dateimanager-VTi | EMC | FritzCall | MultiQuickButton | OpenWebif | PiconManager | Serienrecorder | SmartEPGvu+ | VPS | VU+Remote
    • rdamas schrieb:

      Sag einfach, was du willst: "die blaue Pille oder die rote Pille" (wobei ich nicht mehr weiss, welche Pille in "Matrix" wofür war...)
      Ich hab mich damals für die bittere entschieden ... und inzwischen über etliche Wochen hin immer mal wieder geforscht und gelernt und experimentiert. Jetzt hab ich all meine Skripte und Cronjob-Befehle ausgearbeitet und in Putty getestet und bin bereit, die Cronjobs tatsächlich einzurichten. Es werden mehrere ...

      rdamas schrieb:

      Wenn du das Script in der Shell getestet hast [...], fehlt noch der Crontab-Eintrag. Den kannst du jetzt in der von dir schon gefundenen Verwaltung vornehmen oder von Hand in der Shell eintragen.
      Statt mit der Fernbedienung würde ich lieber bequem am PC/Putty arbeiten. Dazu bitte ich um Hilfe, was ich in Putty eingeben muss, um den folgenden Cron einzurichten:

      Quellcode

      1. 5 10 * * * /media/hdd/backup/bkup-movie.sh > /media/hdd/backup/backup.log 2>&1 &
      Wenn das dann geschafft ist, habe ich fertig!!!
      ________________________________
      • Vu+ Duo 4K (2019) - SSD Samsung EVO 870 1TB
      • Vu+ Uno 4K SE (2022) - SSD Samsung EVO 870 500GB
      • Vu+ Uno 4K SE (2023) - SSD Samsung EVO 870 500GB

      Image: VTi-Team Image 15.0.02 (2022-12-15-vti-master (99a40fe7d))
      Erweiterungen: AutomaticFullBackup | Automove | Dateimanager-VTi | EMC | FritzCall | MultiQuickButton | OpenWebif | PiconManager | Serienrecorder | SmartEPGvu+ | VPS | VU+Remote
    • crontab -e öffnet die Crontab im Editor (das ist standard der "vi", kann man ändern, indem man vorher die Shell-Variable EDITOR setzt, z.B. export EDITOR=nano - wenn du mit "nano" als Editor vertrauter bist; oder "joe", wenn der installiert ist und dich damit auskennst).

      Im "vi" wäre das Vorgehen:
      "i" drücken
      Zeile eingeben
      "ESC" drücken, ":x" eingeben.
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • Done! Habs aber schön beim "vi"-Standard belassen ...
      VIELEN DANK für all die Kompetenz, Erläuterungen und Geduld mit uns Lehrlingen!!
      ________________________________
      • Vu+ Duo 4K (2019) - SSD Samsung EVO 870 1TB
      • Vu+ Uno 4K SE (2022) - SSD Samsung EVO 870 500GB
      • Vu+ Uno 4K SE (2023) - SSD Samsung EVO 870 500GB

      Image: VTi-Team Image 15.0.02 (2022-12-15-vti-master (99a40fe7d))
      Erweiterungen: AutomaticFullBackup | Automove | Dateimanager-VTi | EMC | FritzCall | MultiQuickButton | OpenWebif | PiconManager | Serienrecorder | SmartEPGvu+ | VPS | VU+Remote
    • Jetzt muss ich doch nochmal etwas erfragen:
      Ich würde gern ein fertiges Skript so einrichten, dass es niemals automatisch startet, sondern nur durch manuellen Aufruf bei Bedarf.
      Ideal wäre eine "Aufgabe", aber da kann man ja kein eigenes Skript eintragen, sondern nur aus der Liste wählen.
      Die nächste Option wäre ein Cronjob, aber was müsste ich da vor dem command (skriptname) an Zeiten eintragen?
      ("Ungültige" Werte - z.B. "70 * * * *" - werden sicher zurückgewiesen ...)
      ________________________________
      • Vu+ Duo 4K (2019) - SSD Samsung EVO 870 1TB
      • Vu+ Uno 4K SE (2022) - SSD Samsung EVO 870 500GB
      • Vu+ Uno 4K SE (2023) - SSD Samsung EVO 870 500GB

      Image: VTi-Team Image 15.0.02 (2022-12-15-vti-master (99a40fe7d))
      Erweiterungen: AutomaticFullBackup | Automove | Dateimanager-VTi | EMC | FritzCall | MultiQuickButton | OpenWebif | PiconManager | Serienrecorder | SmartEPGvu+ | VPS | VU+Remote