Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

rsync Skript für inkrementelle Backups

Featured Replies

Ich ging davon aus, dass ich das dann als Linux formatieren muss und dann geht das auch mit den Hardlinks. Aber offensichtlich ist das nicht so. Wie kann ich denn ermitteln, ob mein Ziel Hardlinkfähig ist?

 

Du schreibst auch, dass du nicht mit Hardlinks. Welche Optionen gibt es dann? Einfach normale Vollbackups mit einer anderen Software machen?

  • Replies 142
  • Views 24.4k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Naja. Irgendwo ^^   Wenn ich mal alle Optionen verfügbar gemacht habe, werde ich dazu aber auch noch mal Anleitungen schreiben.    

  • nicht mit Versionierung arbeiten ... sondern Standard Backups   hier ein Task um einen Share zu mounten, syncronisieren, umount ... und am Ende noch replication zu starten  

  • Dazu ist mir auch noch keine Lösung eingefallen.   Aktuell tatsächlich nicht. Muss ich mir mal anschauen, wie man das "nachbauen" könnte. Mir war wichtig, dass nur die Container gestartet

Posted Images

2 hours ago, Cannon said:

Du schreibst auch, dass du nicht mit Hardlinks. Welche Optionen gibt es dann? Einfach normale Vollbackups mit einer anderen Software machen?

nicht mit Versionierung arbeiten ... sondern Standard Backups

 

hier ein Task um einen Share zu mounten, syncronisieren, umount ... und am Ende noch replication zu starten ;)

 

image.png.72b74514f7a36174411b3d2309e98f76.png

 

das ist jetzt ein stumpfes Medien backup ... inkrementell und fertig.

 

Versionierung ... warum nutze ich das nicht, ich habe daily Backups intern, alle 2 tage cloud (wichtige Daten, Dokumente, Bilder, Apps, eigene Dinige, Nextcloud Daten, ...), damit habe ich bereits eine "Versionierung" ... und 2 Backups auf 2 verschiedenen Geräten (intern + extern). Zusätzlich jetzt die Speicherfresser "Medien", die sichere ich 1 x wöchentlich auf einen 2. Unraid Server lokal, Filme, Serien, ... und das reicht mir auch ... sollte die Bude abfackeln habe ich andere Probleme wie meine provate Filme / Serien Sammlung ;)

 

Parallel sichere ich da nochmals die wichtigen Daten (noch eine Version ...max 1 Woche ...)

 

und damit bin ich persönlich durch.

 

Aufwand, siehe oben als Beispiel ... ganz schmerzfrei ...

25 minutes ago, alturismo said:

nicht mit Versionierung arbeiten ... sondern Standard Backups

Brauche ich auch eigentlich nicht, da ein Teil der Backups aus Windows heraus gemacht werden und damit sowieso schon fix und fertig sind. Das heißt ich habe ohnehin nur das, was auch weggesichert werden muss und muss einfach stumpf kopieren. Aber das scheiterte schon, weil eine Internetverbindung langsam und nicht sehr stabil ist. Langsam ist natürlich relativ. Aber ein komplettes Windows-Systembackup ist ja auch riesig.

 

Die Lösung freut mich aber.

  • 3 weeks later...

So ich habe mich jetzt noch mal den Script gewidmet, da ich auch Backups über eine Internetleitung machen möchte. Da habe ich einen Raspberry Pi stehen und nun auch eine Festplatte per USB3.0 angebunden.

 

Das Problem bei der Sache, dass die schiere Datenmenge erst einmal unmöglich über (m)eine Internetverbindung zu transportieren ist, ohne das mal zwischendurch was abbricht. Wir reden hier von ca. 600 GB. Deshalb habe ich die Festplatte auf einen Raspberry Pi mit ext4 eingerichtet per USB, bei UnRaid gemounted, die Sicherung mit dem Script von mgutt eingespielt und das auch mal ein paar Tage später noch mal gemacht und festgestellt, dass es funktioniert.

 

Mache ich das nun aber an dem Raspberry Pi, wird keine Hardlink-Kopie (auf Basis der bestehenden Backupdaten) erstellt, sondern es werden alle Daten noch mal kopiert. Die bisherigen Backups bleiben also unberücksichtigt.

 

Die Pfade habe ich natürlich entsprechend angepasst und der Datenbezug passiert über eine SMB-Freigabe. Das Script wird auf dem Backup-Raspi ausgeführt, also da, wo die Daten gesichert werden sollen.

 

Wo liegt hier mein Fehler?

Edited by Cannon

@Cannon

 

Ich glaube SMB unterstützt keine Hardlinks, siehe hier.

 

Am besten schaust du mal den Englischen Thread durch, dort sollten Lösungen beschrieben sein.

6 hours ago, b_tob said:

Ich glaube SMB unterstützt keine Hardlinks, siehe hier.

 

Ja so wie es da steht hatte ich das gemacht. Also das Backup-Skript auf dem Backup-Client ausführen und dann über Samba auf den Server zugreifen. Das klappt aber nicht. Ich habe das jetzt noch mal mit NFS probiert und siehe da, der erste Test scheint positiv verlaufen zu sein.

 

Aber ich habe dank deines Hinweises noch andere interessante Dinge da gelesen und werde das mal umsetzen.

  • 4 weeks later...
On 1/21/2023 at 2:56 PM, mgutt said:

Der Aufbau wäre als besser so:

- rsync server Container in Unraid installieren und read-only den Zugriff auf /mnt/user gewähren, außerdem den SSH Key der DS hinterlegen

- DS mit Einschaltzeitpunkten versehen

- rsync Backup Skript als Aufgabe in der DS hinterlegen (am besten irgendwo als Datei ablegen und in der Aufgabenplanung dann nur den Pfad zum Skript hinterlegen)

- am Ende des Skriptes noch einen shutdown-Befehl ergänzen, damit er nach dem Backup das NAS herunterfährt

Hallo @mgutt,

 

seit einiger Zeit läuft dein Script auf der DS mit dem rsync-Server. Du hattest bei der Verbindung ja bereits geholfen. Ich habe dem Script auch den Shutdown-Befehl hinzugefügt.

Nun würde ich gern noch eine Benachrichtigung per Mail bekommen, wenn das Script durchgeführt wurde. Über den Synology eigenen Dienst klappt es nicht, da sich die DS runterfährt. Meine Idee war, den Shutdown-Befehl über ein separates Script direkt im Anschluss an dein Script laufen zu lassen aber irgendwie zickt die DS da rum, zwei Scripte hintereinander abzuarbeiten.

 

Hast Du dazu evtl. eine andere Lösung?

  • Author

Setz den Shutdown mit Zeit ab. Dh das Skript ist durch, das NAS sendet die E-Mail und ca 1 Minute später startet erst der Shutdown. zB:

 

shutdown +5

 

Dann fährt der erst nach 5 Minuten herunter.

Das habe ich getestet, nur sendet er trotzdem keine Mail, weil es sich ja immer noch um ein laufendes Script handelt. Oder habe ich da einen Denkfehler?

  • 3 months later...

Ich habe mich jetzt auch mal aufgerafft und je 1 TB Speicher bei Onedrive und bei Koofr geholt zum testen. Beide unterstützen immerhin rclone. Aber damit gehen keine Hardlinks oder das liegt an Onedrive und Koofr, bin nicht ganz dahinter gestiegen.

Jetzt sichere ich die Backups mit dem Script von mgutt, was ich kurz anpassen musste weil mein cache/backup mit ZFS ist und das so nicht wollte. Die erstellten Backups werden dann mittels restic ins repo gepackt und hochgeladen.

Ziel ist dass auf Onedrive und Koofr das gleiche Backup ist und ich einfach von einem der beiden restoren kann. Daher habe ich den 1. Upload mittels restic rclone genmacht, dann bei Koofr das Onedrive gelinkt und dort die Dateien kopieren lassen. Hat den Vorteil beim initialen Erstupload, dass ich nur 1x hochladen musste. Danach die Änderungen sind ja von der Datengröße überschaubar und ich committe ab da auf beide Repos.

Habe ich das irgendwie unnötig kompliziert gemacht und eine ganz einfache Lösung mit nur mit rclone und dem Script von mgutt übersehen? Oder passt das schon so? Ihr wisst ja, Wald und Bäume und so...

  • 3 months later...

Ich hätte da mal ne Frage....
Ich finde das Skript genial und würde das gerne auch für Backups von meinem WinPC nutzen...

Ich wünschte mir aber, dass der Server Daten liest und nicht, dass der PC auf dem Server schreibt und zwar soll er das mit einem eigenen nur leseberechtigtem Windows User tun.

Die Shares habe ich fest auf dem Unraid gemounted.

Aber wenn ich das Skript jetzt ohne alles auf dem Unraid laufen lasse, dann kriegt der Client davon nichts mit, heißt also PC aus --> Backup unvollständig.

Gibts ne Software, die das Skript auf dem Server ausführen kann und dann z.B. auch ein Herunterfahren des PCs verhindert?

Oder ist die Strategie dumm und ich soll einfach eine beliebe Sync Software nutzen um auf dem Server zu kommen und das Skript nur für Daten, deren Hoheit auf dem Server liegt, verwenden?


oder sollte ich dann lieber sowas wie urbackup nutzen?
Lucky Backup kann nicht inkrementell, oder?

Edited by cottec

48 minutes ago, cottec said:

Lucky Backup kann nicht inkrementell, oder?

wie kommst du darauf ?

ist rsync ... nur eine GUI darüber

1 hour ago, alturismo said:

wie kommst du darauf ?

ist rsync ... nur eine GUI darüber

ach sorry, ich meinte nicht inkrementell, ich meinte rotieren.
hab mich da etwas "verdacht"

aber egal, zielführend ist beides auf server seite so nicht, oder?

14 minutes ago, cottec said:

ach sorry, ich meinte nicht inkrementell, ich meinte rotieren.

auch das, es ist rsync ... sofern du Versionierung meinst (keep N copys)

das script hier nutzt rsync, luckybackup im Docker nutzt rsync.

image.png

das script hier konfigurierst du mit den aktuellen Optionen im script selbst, lucky baut den Befehl anhand der Haken, Variablen in der GUI ...

zum Rest können andere dir sicher eher helfen

Ne ich meinte schon diese Rotation keep X days month years und sowas....

Aber die snapshots sind dann volle Datensätze oder? Das sind keine hardlinks auf die ursprüngliche Sicherung oder?!

Oder kann ich das auch Skripten mit Lucky Backup?

2 hours ago, cottec said:

Aber die snapshots sind dann volle Datensätze oder? Das sind keine hardlinks auf die ursprüngliche Sicherung oder?!

Im Eröffnungspost hier im Thread wird es mit Hardlinks beschrieben. Deshalb ist jedes Backup auch ein Fullbackup.

Ob das auch mit luckyBackup geht weiß ich gerade nicht.

Kenne dort die Retention die alturismo auf dem Screenshot gezeigt hat.

3 hours ago, alturismo said:

sofern du Versionierung meinst (keep N copys)

Dann hast du einen Ordner mit dem aktuellen Stand und die alten Änderungen landen in einem Snapshot Ordner mit Datum, Uhrzeit, ... bspw. geändertes, gelöschtes.

Zitat aus dem Eröffnungspost:

On 12/19/2021 at 9:14 PM, mgutt said:

Eigentlich sind sie streng nach Definition gar nicht "inkrementell", da jedes Backup ein 1:1 Vollbackup darstellt. Da aber mit Hardlinks gearbeitet wird, transferiert rsync nur neue Dateien, wodurch der Speicherplatzverbrauch genauso gering ist wie bei inkrementellen Backups. Meiner Ansicht nach sind Hardlink-Backups das bessere inkrementelle Backup, da man alte Backup-Ordner nach Belieben einfach löschen kann, während die restlichen Vollbackups erhalten bleiben. Bei einem klassischen inkrementellen Backup ist das nicht möglich, da das alle Folgebackups zerstören würde.

6 hours ago, Revan335 said:

Ob das auch mit luckyBackup geht weiß ich gerade nicht.

Genau das ist das fehlende Puzzlestück.
Ich finds ja gerade genial, dass der Speichervebrauch quasi nicht erhöht wird.
Ich lass grad mal ein zweites Backup mit Luckybackup laufen und schau mir mal den Verbrauch und die Ordnerstruktur an.

Den Speicherverbrauch seh ich aber nur daran wie groß der übrgeordnete Backup Ordner ist, oder?
Die Einzelordner müsste jedes mal die Größe eines Voll-Backups haben, richtig?

  • 4 months later...

Hallo.

Ich nutze dieses Script für meine Backups. Dabei nutze ich diese Regeln:

# keep backups of the last X days
keep_days=14

# keep multiple backups of one day for X days
keep_days_multiple=1

# keep backups of the last X months
keep_months=12

# keep backups of the last X years
keep_years=1

# keep the most recent X failed backups
keep_fails=3

Auf Unraid, sowie der Hetzner Box habe ich dafür genug freien Speicher. Aber ich habe noch eine externe 1TB SSD. Auf die ich per rsync einfach die Backups synchronisieren könnte.

Ich möchte dort aber aus Platzgründen nur die letzten 3-4 Backups vorhalten. Wie könnte ich das umsetzen? Noch einmal das Backup mit keep_days=3 starten, wollte ich eigentlich vermeiden, da dann zwecks appdata backup alle Docker ein 2. Mal gestoppt werden müssten.

Hat dazu jemand evtl eine Idee?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.