AxelMD hat geschrieben: 16.01.2022 09:39:55
Warum hast Du das erste Script nicht komplett als Basis genommen?
Ich habe das Skript verwendet, das ich bei mir in meiner Versionsverwaltung habe. Das Skript aus NoPaste ist aber funktionell identisch, da sind nur ein paar zusätzlich Kommentare drin.
Du hast jetzt andere Pfadbezeichnungen (RSyncLog) gewählt, warum das?
Wenn du mal auf Zeile 12 von
41572 schaust und das mit dem von mir oben vergleichst, wirst du sehen, daß die Zeilen identisch sind.
Die Variablen SRC, DSTDIR, HTMLLOGDIR und PREFIX mußt du aber auf deine Bedürfnisse anpassen.
Code: Alles auswählen
mv: das Verschieben von '/media/axel/usbhdd1/backup/.running-16.01.22' nach '/media/axel/usbhdd1/backup/daily-16.01.22/.running-16.01.22' ist nicht möglich: Das Verzeichnis ist nicht leer
Da ist vermutlich beim Copy'n'Paste des Skripts aus dem Forum in deinen Editor ein Unfall passiert.
Code: Alles auswählen
./rsync-msfree-2.sh: 57: cannot create /media/axel/usbhdd1/RSyncLog/log-16.01.22.html: Directory nonexistent
Das Anlegen des Verzeichnisses für die HTML-Logs fehlt noch in dem Skript.
Code: Alles auswählen
gzip: /media/axel/usbhdd1/backup/log/log-16.01.22.log.gz already exists; do you wish to overwrite (y or n)? y
Eigentlich war das Skript dafür gedacht, einmal am Tag zu laufen. Die Datumsvariable, aus der das Backupverzeichnis und die Namen der beiden Logdateien abgleitet werden, ist nicht eindeutig, wenn du das Skript mehrfach am Tag aufrufst. Du kannst der Variable DATE auch ein Datum mit Uhrzeit zuweisen, so daß das Skript auch sekündlich aufgelöste Namen erzeugt. Dann gibt es diese Doppeldeutigkeit nicht mehr.
Was genau macht die die Option "--link-dest"?
Damit wird eine "Kopie" des letzten Backups erzeugt, indem dort alle Dateien der letzten Backups als Hardlinks ins neue Backupverzeichnis übernommen werden. Danach läuft rsync ganz normal auf der "Kopie". Kopie ist hier deshalb in Anführungsstrichen, weil es sich nich um byteweise Dateikopien handelt sondern nur um Dateinamen im Dateibaum, dessen physikalischer Inhalt auf eine bereits vorhandene Datei zeigt.
Hattest Du damals das Script selbst entwickelt oder woher hattest Du die Basis?
Das habe ich selbst geschrieben. Ursprünglich tat das auf einem kleinen Synology NAS seinen Dienst. Die Synologies laufen unter Linux und bringen rsync mit.
Gibt es irgend ein Standardscript für rsync und ein Vorhaben?
rsync hat eine große Menge von Parametern, um so ziemlich alles abzudecken, was man sich als Backup oder Datensynchronisation wünscht. Z.B. kann rsync von Platte zu Platte oder über das Netzwerk erfolgen. Über das Netzwerk kann man das rsync-Protokoll nehmen oder es über SSH tunneln. Folglich kann es so etwas wie einen Standardaufruf gar nicht geben. Natürlich kann man ein Skript schreiben, das das alles unterstützt, es würde aber entsprechend komliziert sein und genauso viele Parameter übernehmen müssen wie rsync selbst.
Ich habe mal die Kommentare aus dem ursprünglichen Skript eingebaut und das Erzeugen des HTMLLogDirs hinzugefügt.
40928