Backup Linux zu Unraid


Revan335
Go to solution Solved by mgutt,

Recommended Posts

Hallo,

 

bin auf der Suche nach nem Backup Tool was sichert ohne eigenes Container Format. Man hat also immer Zugriff auf die Daten.

 

Der Client ist Linux, genauer Manjaro also Arch Linux basiert.

 

Ebenso das der Backup Share nicht immer da sein muss, sondern gemountet/unmountet wird.

 

Da FTP, SSH aus Sicherheitsgründen abgeschaltet ist.

 

Back in Time hab ich früher mal genutzt und fand deren Aufbewahrungsrichtlinien super.

 

Allerdings kann das nur SSH oder Lokal. Ebenso wie Lucky Backup was nur Lokal kann.

Auch würde ich die Hardlink Problematik gerne umgehen, da nicht jeder damit umgehen kann und dann bspw. beim Backup/kopieren diese nicht korrekt übernommen werden.

 

Deja Dup läuft zwar ist aber sehr eingeschränkt und hat nur nen Ordner Restore statt Datei Restore.

 

Vielen Dank!

 

Viele Grüße

 

Revan335

Link to comment
3 hours ago, Revan335 said:

Ebenso wie Lucky Backup was nur Lokal kann.

Lucky kann auch per ssh backups erstellen ....

 

3 hours ago, Revan335 said:

Da FTP, SSH aus Sicherheitsgründen abgeschaltet ist.

und über was willst du das jetzt dann machen ? smb mount bei Bedarf vom linux client zu unraid ? wenn ja, rsync einlesen, hat massig Optionen, rclone kann auch wunderbar mounten, usw usw usw ...

Link to comment

Ich nutze den rsync Docker container, wenn ich Rsync auf dem Client ausfuhre.

Daten werden dann per SSH vom Server kopiert, aber der Docker hat nur Leserechte auf dem Unraidserver

 

Der SSH management Server von Unraid bleibt dabei ausgeschaltet (Management settings)ib 

Solltest Du Hardlinks in den Unraid Shares haben, werden die beim Backup auch korrekt ubernomme

 

Ich habe mir ein kleines script gemacht wodurch ich mit einem einzigen Befehl den ganzen Server nur mit Leserechten sichern kann. (einfach mehrere rsync Zeilen - geht sicher auch eleganter, aber ich bin kein Programmer)

Das Script kannst Du naturlich auch als Cronjob laufen lassen... dann hast Du das Tool, was Du suchst...

 

Schau mal bei den Unraid Apps unter "rsync-server"

 

Link to comment
5 hours ago, alturismo said:

und über was willst du das jetzt dann machen ? smb mount bei Bedarf vom linux client zu unraid ?

Ja, das wäre eine Möglichkeit. So macht es Deja Dup derzeit auch.

 

Sofern möglich wäre ne GUI zwecks "leichterer/einfacherer" Bedienung hilfreich.

Link to comment
5 hours ago, Revan335 said:

Sofern möglich wäre ne GUI zwecks "leichterer/einfacherer" Bedienung hilfreich.

 

dann wäre luckybackup doch eine Option für Dich auf deinem Linux Rechner, da hast du Optionen "before" /Bsp. mount ...) und "after" (unmount).

 

nur dann wäre hier nicht unbedingt die erste Anlaufstelle da du das tool ja auf deinem Linuc Client läuft, unraid ist ja dann "nur" ein smb target im Netzwerk ...

Link to comment

Bin vermutlich zu dumm oder erkenne die Lösung nicht. Vielleicht denke ich auch einfach zu kompliziert, umständlich oder Sicher.

Scheinbar ignoriert luckyBackup die Angaben der Credentials in dem mount Befehl und verlangt nen fstab Eintrag.

Dann (fstab Eintrag gemacht) meckert er weil er die Credentials Datei nicht öffnen weil das nur Root kann.


Muss man also die Credentials im Klartext eintragen damit luckyBackup zufrieden ist und diese theoretisch jeder lesen kann?

 

@ullibelgie Hab ich mir angeschaut. Aber ich will ja den Client auf dem Server sichern. Dafür müsste ich den Share zu RW ändern und im luckyBackup oder so mit dem Root User arbeiten, auch wenn dieser dann nur RW Zugriff auf den im Docker genannten Pfad hat.

 

Man könnte mehrere Pfade im Docker mit unterschiedlichen Rechten eintragen? @mgutt

 

Wenn man im Docker /mnt/user angegeben hat.

Müsste man dann als Pfad /mnt/user/Backup_Ordner/luckyBackup in luckyBackup eintragen um das Backup auf den Unraid Share /Backup_Ordner/luckyBackup zu packen.
 

Link to comment
51 minutes ago, ullibelgie said:

Sorry - das hatte ich falsch verstanden.

Um die Clients auf dem Unraid server zu sichern nutze ich das script von MGutt (rsync)

Funktioniert seit ein paar Monaten problemlos - es werden hiermit aber sehr wohl Hardlinks erzeugt.

 

das wolltest Du aber nicht...

Kein Problem!
Danke für deine/eure Hilfe!

 

Vielleicht (wenn mir das mit dem Mount noch weiter auf den Geist geht) mach ich es doch mit Hardlinks und passe dann das Backup von diesem Ordner an.

 

Hattest du nachdem du den Docker neu gestartet hast auch ne Warnung das sich die Identification geändert hat?

Hatte jetzt mal den zusätzlichen Pfad mit RW eingetragen zum Test.

Quote

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the **** key sent by the remote host is
SHA256:***.
Please contact your system administrator.
Add correct host key in /home/user/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/user/.ssh/known_hosts:152
Host key for [Unraid]:Port has changed and you have requested strict checking.
Host key verification failed.
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(228) [Receiver=v3.2.4]

 

BIT mag den rsync-server scheinbar nicht.

825045550_Bildschirmfotovom2022-06-1517-55-48.png.f6da2b972b809d6e76f88053da9b3c3e.png

Edited by Revan335
Link to comment
2 hours ago, mgutt said:

Existiert der Ordner /mnt/backup/Test/tmp... im Ziel? Rsync kann nicht den Hauptpfad im Ziel erstellen. Nur das was man an Ordnern darunter übertragt.

Hab es jetzt nochmal angepasst.

 

Ja, existiert.

 

Einmal Filezilla der sich zu deinem rsync-server Docker verbindet und einmal die Verbindung im Back in Time.

Das mit dem tmp scheint Back in Time selbst zu machen.

 

Der Pfad sollte doch im BIT stimmen?

1560569043_Bildschirmfotovom2022-06-1521-57-53.thumb.png.0273903600c03167aba4e1d3188280c7.png1557561494_Bildschirmfotovom2022-06-1521-58-40.png.586ac3a1fea6f127310bec2ad496d891.png

Link to comment

Öffne mal die Konsole vom Container und führe das aus:

mkdir /mnt/backup/BIT/test

 

Wobei das Problem vermutlich doch was anderes ist. Und zwar steht ja da, dass rsync den Pfad "/root/"/mnt/backup/BIT/tmp_CPC2VV"" nicht erstellen kann. Ich frage mich woher das "/root/" vor dem Zielpfad herkommt. In dem eigentlichen Kommando sieht man ja nichts davon.

 

Ich habe auch mal wie folgt getestet. /mnt/user/ in /mnt/user/isos mit Schreibrechten geändert:

484827601_2022-06-1523_54_49.png.e8b390d4f706e4e3fe6d8db5e2c89ed7.png

 

Und dann mit folgendem Kommando von Unraid aus problemlos kopiert (Schlüssel von Unraid selbst war natürlich im rsync-server container hinterlegt):

rsync --itemize-changes --recursive --rsh='ssh -p5533' /tmp/ root@localhost:/mnt/user/isos/test

 

Das hat problemlos funktioniert.

 

Was ich auch komisch finde aus deinem Screenshot ist diese Schreibweise:

'root@rechnername:"/mnt/backup/BIT/tmp_CPC2VV"/'

 

Man beachte hierbei den letzten Schrägstrich nach dem Pfad. Allerdings konnte ich es nicht provozieren, dass er dann so wie bei dir reagiert. Also so geht es problemlos:

rsync --itemize-changes --recursive --rsh='ssh -p5533' /tmp/ root@localhost:"/mnt/user/isos/test"/

 

Oder enthält dein Rechnername evtl noch ein komisches Zeichen oder ein Leerzeichen oder so?

 

Kannst du in BIT noch weitere Optionen hinzufügen? Dann würde ich mal -vvvvv probieren. In dem Fall gibt rsync deutlich mehr Informationen zurück wie zb den Pfad, wo die Dateien hingeschrieben werden sollen:

image.thumb.png.8ec6c0cf278be4697c1d08a4c9fa428b.png

 

Wenn -vvvvv gesetzt werden kann, dann probier auch mal den Usernamen "root" gegen "test" zu ersetzen, falls das "root" im Zielpfad übernommen wird, sollte das dann auch bei "test" der Fall sein, auch wenn er sich dann logischerweise nicht verbinden kann:

image.thumb.png.5d312a67fa4f39f4024bb93353afaa30.png

Link to comment
19 hours ago, mgutt said:
mkdir /mnt/backup/BIT/test

Funktioniert.

605071255_Bildschirmfotovom2022-06-1620-15-35.png.bb19b8b5bbab4542d3c6b94a7c13a72f.png

 

19 hours ago, mgutt said:
rsync --itemize-changes --recursive --rsh='ssh -p5533' /tmp/ root@localhost:/mnt/user/isos/test

Funktioniert.

[user@PC-Name ~]$ rsync --dry-run --itemize-changes --archive -e 'ssh -p Portnummer' root@Unraidname:/mnt/user/system/ /tmp
.d..tp..... ./
cd+++++++++ docker/
>f+++++++++ docker/docker.img
cd+++++++++ libvirt/
>f+++++++++ libvirt/libvirt.img
[user@PC-Name ~]$ rsync --itemize-changes --recursive --rsh='ssh -p Portnummer' Test/ root@Unraidname:/mnt/backup/BIT
<f+++++++++ .sync.ffs_db
<f+++++++++ Reasons to use Nextcloud.pdf
<f+++++++++ Reasons to use Nextcloud_.pdf

 

19 hours ago, mgutt said:
rsync --itemize-changes --recursive --rsh='ssh -p5533' /tmp/ root@localhost:"/mnt/user/isos/test"/

Funktioniert.

[user@PC-Name ~]$ rsync --itemize-changes --recursive --rsh='ssh -p Portnummer' Test/ root@Unraidname:"/mnt/backup/BIT"/
<f..T...... .sync.ffs_db
<f..T...... Reasons to use Nextcloud.pdf
<f..T...... Reasons to use Nextcloud_.pdf

 

19 hours ago, mgutt said:

Oder enthält dein Rechnername evtl noch ein komisches Zeichen oder ein Leerzeichen oder so?

Nein, der Unraid Name besteht aus einem Wort wie Unraid/Tower.

Der Client Name besteht aus PC-Nummer wie PC-12.

 

19 hours ago, mgutt said:

Kannst du in BIT noch weitere Optionen hinzufügen? Dann würde ich mal --vvvvv probieren.

Ich vermute es, aber scheine es entweder falsch eingetragen zu haben oder es ist nicht supported.

1907218254_Bildschirmfotovom2022-06-1620-12-31.png.dbf86b6551423c4b45322993728bc5be.png1747508337_Bildschirmfotovom2022-06-1620-12-44.png.4bbec4aeb53b76ff128dd3b2d71ec439.png356230381_Bildschirmfotovom2022-06-1620-12-13.png.d2bd79009094e3981f5ed554822c7794.png

unknown option wird ausgegeben.

 

19 hours ago, mgutt said:

dann probier auch mal den Usernamen "root" gegen "test" zu ersetzen,

Dann wird man gefragt ob man den Public Key kopieren will. Was nicht zu funktionieren scheint. Weil die Abfrage nach Ja, immer wieder erscheint.

Wo müsste der im Docker hin, dann mach ich das per Konsole manuell?

Das müsste ja der id_rsa.pub sein?

468214563_Bildschirmfotovom2022-06-1620-14-13.png.59a28c718fac105a9690468d5913a447.png

Link to comment
49 minutes ago, Revan335 said:

Ich vermute es, aber scheine es entweder falsch eingetragen zu haben

Ja, nur ein Bindestrich und nicht zwei. Ich hatte das einmal falsch in meinem Beitrag stehen.

 

50 minutes ago, Revan335 said:

Dann wird man gefragt ob man den Public Key kopieren will.

Ok, dann können wir es nicht mit einem anderen Namen testen. Müssen wir anders herausfinden, warum der "/root" davor schreibt. Kann man in BIT evtl eine Art "Standardverzeichnis" oder "Basisverzeichnis" einstellen? Gehe mal alle Tabs durch. Irgendwo muss doch diese "/root" stehen.

 

 

 

Link to comment

Der Key kommt in die Variable SSH_AUTH_KEY_1. Den Wert der Variable kopiert der Container dann in die Datei /root/.ssh/authorized_keys (innerhalb vom Container):

 

image.png.954045e5027b6777ee271ef6c700bd73.png

 

Wenn eine Meldung kam, dann nur, weil der Key nicht in der Variable stand oder der war schlicht falsch?!

Link to comment

Mit Verbose Parameter und Root.

307173720_Bildschirmfotovom2022-06-1712-05-47.png.53d4b965d75239e3b5c45122e06a7716.png

 

Ich würde sagen es ist die Pfad Angabe, aber warum der Root nimmt, keine Ahnung.

Bildschirmfoto vom 2022-06-15 21-58-40.png1013631237_Bildschirmfotovom2022-06-1712-11-38.png.3995e0ccc938885a26aab6d701708815.png1482723498_Bildschirmfotovom2022-06-1712-11-44.png.d14250d3c563d5ed208fb0ca7c3481b7.png543219451_Bildschirmfotovom2022-06-1712-11-56.png.f8a2bc0fa11ce100f0f893c7eecb23f4.png1290485585_Bildschirmfotovom2022-06-1712-12-05.png.a8639cd369f6313c0574cfa3997bfd7e.png

 

12 hours ago, mgutt said:

Der Key kommt in die Variable SSH_AUTH_KEY_1. Den Wert der Variable kopiert der Container dann in die Datei /root/.ssh/authorized_keys (innerhalb vom Container):

 

image.png.954045e5027b6777ee271ef6c700bd73.png

 

Wenn eine Meldung kam, dann nur, weil der Key nicht in der Variable stand oder der war schlicht falsch?!

Hab jetzt nochmal nen neuen Key erstellt und nochmal hinzugefügt.

Key aus der Variable ist angekommen und stimmt mit dem neuen überein. (alte stimmte aber auch)

Bei root kommt keine Frage, nur wenn man auf bspw. Test ändert. (bzgl. public key übertragen)

Link to comment

Ja, das ist logisch, weil er für diesen User ja keinen Key kennt bzw der rsync Container akzeptiert denke ich einen root User. Ich wollte das auch nur zum Test, damit du bei den Logs von BIT was wegen dem komischen /root Pfad siehst.

 

Was hat denn -vvvvv gebracht? Edit: Ah, hast du ja probiert. Gibt es noch andere Logs bei BIT außer diese Fehlermeldung? Da fehlt ja das was rsync zurückgibt.

Link to comment

Ich kann keine finden.

Hab die Snapshot Logs die man auch in der GUI anzeigen kann, gefunden. Da steht aber nur was zum Backup drin, als ich es mal Lokal getestet hab.

 

Hast du vielleicht noch ne Idee?

Sonst ggf. per lokalen Mount. (Das umgeht diese Problematik und scheint zu laufen, hatte da mal nen Test Start gemacht) Aber da finde ich keinen Punkt für Mounte Backup Pfad vorher und nach Abschluss wieder umounten.

 

Falls auch das nicht gehen sollte. Muss ich noch ein Programm testen (Fällt mir gerade keins ein) oder dein Script testen und hoffen das das funktioniert.

 

Vielen Dank dennoch schon mal für die Hilfe!

Link to comment

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.