Ressourcen-Icon

Skript jarss (just another rsync shell script) 1.0-400

Keine Rechte zum Download
  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

  • System
    • Mithilfe des statischen Analysewerkzeugs ShellCheck wurden im Skript Fehler und Stilprobleme überprüft und korrigiert.
    • Um das Skript besser gegen unerwartete Ereignisse abzusichern, wurde es mit dem Aufruf der Debugging- und Tracing-Tools "set -euo pipefail" ausgestattet.
    • Das Error-Handling, also die Erkennung, Behandlung und Protokollierung von Rückgabewerten bzw. Exit-Codes, wurde vollständig überarbeitet.
    • Die Ermittlung des absoluten Pfads zur Weiterverarbeitung innerhalb des Skripts wurde sicherer und robuster gestaltet.
    • Ab sofort wird geprüft, ob auf GitHub eine neue Version von jarss verfügbar ist. Falls ja, wird eine entsprechende Information über das Protokoll ausgegeben.
    • Zur besseren Lesbarkeit des Skripts wurden Texte, die auf der Standardausgabe (stdout) des Terminals ausgegeben sowie in der Protokolldatei gespeichert werden, in eine Funktion ausgelagert.
    • Es wurden zahlreiche weitere kleinere und größere Stil- und Codeverbesserungen sowie Skriptanpassungen vorgenommen.
  • Protokolldatei
    • Das Protokoll kann ab sofort per E-Mail versendet werden, sofern das Betriebssystem das Kommandozeilen-Werkzeug curl bereitstellt. (Vielen Dank an @deltapapa für die Initialzündung)
    • Des Weiteren kann eingestellt werden, ob eine E-Mail grundsätzlich oder nur bei einer Warnung bzw. einem vorzeitigen Abbruch versendet werden soll.
    • Die Erzeugung der Protokolldatei wurde vereinfacht und robuster gestaltet. Zudem wurden die Dateirechte von 0777 auf 0666 beschränkt.
  • Rsync
    • Die für lokale und Remoteverbindungen zuständigen rsync-Loops wurden vereinfacht und robuster gestaltet.
    • Die Überprüfung, ob das ionice-Paket auf dem Betriebssystem installiert ist, war fehlerhaft und wurde korrigiert.
    • Bei einer versionierten, inkrementellen Datensicherung muss die Variable ${versions} den Wert 2 oder höher enthalten, da es sonst zu Fehlern bei der Skriptausführung kommt. Der Fehler wurde behoben.
    • Bei einer versionierten, inkrementellen Datensicherung kam es zu einem Abfragefehler bei der Löschung älterer Versionsstände, sofern keine Treffer gefunden wurden. Der Fehler wurde behoben.
    • Bei einer synchronisierten Datensicherung kam es zu einem Abfragefehler bei der Löschung älterer Einträge im Recycling-Ordner, sofern keine Treffer gefunden wurden. Der Fehler wurde behoben.
  • Nach der Ausführung einer versionierten, inkrementellen Datensicherung löschte die anschließende Versionsbereinigung nicht die älteren Versionsordner, die in der Konfiguration als Tage angegeben waren. Stattdessen wurden im aktuell erstellten Versionsordner alle Ordner gelöscht, die älter als die angegebene Anzahl an Tagen waren. Dadurch wurden mit der Zeit immer weniger Daten gesichert, sodass die Versionsvorhaltung nicht mehr gewährleistet war. Aus diesem Grund wird dringend empfohlen, die bisherige versionierte, inkrementelle Datensicherung vollständig neu zu erstellen – selbst wenn sich mit der Zeit automatisch ein neuer, vollständiger Versionsstand ergibt. Ich bitte, die Unannehmlichkeiten vielmals zu entschuldigen.
  • HINWEIS: Um das Problem zu lösen, muss lediglich das aktualisierte Skript „jarss.sh” heruntergeladen und anstelle des alten Skripts verwendet werden.
  • Die Konfigurationsdateien bleiben auf dem Stand der Version 1.0-200 und können weiterhin verwendet werden, da hier keine Änderungen vorgenommen wurden.
  • Schrägstrich am Ende des Zielpfads (nach dem Zeitstempel) in der Logmeldung hinzugefügt, wenn eine inkrementelle Sicherung verwendet wird.
  • Ein doppelter Schrägstrich, der in einer Protokollmeldung enthalten war, wurde entfernt.
  • Die inkrementelle Datensicherung brach mit einer rsync-Fehlermeldung ab, wenn der Zielpfad ein Leerzeichen enthielt. Der Fehler wurde behoben.
  • Weitere kleinere Probleme bei der Behandlung von Leerzeichen behoben.