Gast
#6781353
Hallo Leute, Will mir von einem entfernten NAS Daten synchronisieren. Dazu will ich rsync benutzen. Wie wäre da der Syntax? Quelle Remote NAS:
1 | |
2 | |
3 | |
4 | |
5 | |
Ziel Lokaler NAS:
1 | |
|
Anzeige
|
Wo sind die Rsync Profis?
Gast
#6781353
Hallo Leute, Will mir von einem entfernten NAS Daten synchronisieren. Dazu will ich rsync benutzen. Wie wäre da der Syntax? Quelle Remote NAS:
Ziel Lokaler NAS:
Gast
#6781359
Gast
#6781365
Das würde folgendes ergeben: rsync -av -e --progress --delete --partial 'ssh -p 5152' Shareer@DS220.ddns.net:/volume1/BackupOrdner1 /volume1/BackupOrdner1 ABER: Wie bekomme ich da noch das Passwort rein?
Gast
#6781372
Auch auf der Seite mal nach Password. 🙄
Gast
#6781416
export RSYNC_PASSWORD="Ben8!?" env RSYNC_PASSWORD="Ben8!?" Beide liefern "-sh: !?": event not found" Also kann der Befehl nicht mit Sonderzeichen umgehen. rsyn schrieb: > Beide liefern "-sh: !?": event not found" > Also kann der Befehl nicht mit Sonderzeichen umgehen. Nein, diese Fehlermeldung kommt nicht von rsync, sondern von der aufrufenden Shell... Das sind doch nun wirklich elementare Grundlagen.
Gast
#6781423
rsyn schrieb: > Das würde folgendes ergeben: > rsync -av -e --progress --delete --partial 'ssh -p 5152' > Shareer@DS220.ddns.net:/volume1/BackupOrdner1 /volume1/BackupOrdner1 > > ABER: Wie bekomme ich da noch das Passwort rein? Das willst du da nicht im Befehl haben, weil das bei Eingabe in der Konsole sonst in der .bash_history drin steht. Das PW gibst du also besser an, wenn du dich verbindest und dann danach gefragt wirst. Ansonsten, falls du das automatisieren willst, gibt's für ssh noch bessere Lösungen. Siehe Manpage. Bei rsync nutze noch den Parameter z für AFAIK Kompression. --delete ist auch ganz nützlich, falls Dateien auch auf dem Ziel auch gelöscht werden sollen, die du schon bei dir gelöscht hast. Und wenn du immer vorher nachgucken willst, was rsync macht, dann nutze noch --dry-run bzw. -n Am besten packst du das in ein Skript, bei dem du je nach Aufrufparameter nen dryrun oder nen richtigen Durchlauf machen kannst. Nimm FreefileSync (https://freefilesync.org/) und denk nicht mehr drüber nach. ;-)
Gast
#6781431
So. Habe jetzt mal das Passwort gesetzt und einen Probelauf gemacht.
Ergebniss (Am realen NAS - Ordner/user/server umbenannt): Unexpected remote arg: Shareer@DS220.ddns.net:/volume1/BackupOrdner1 rsync error: syntax or usage error (code 1) at main.c(1517) [sender=3.0.9]
Gast
#6781435
Andreas B. schrieb: > Nimm FreefileSync (https://freefilesync.org/) und denk nicht mehr drüber > nach. ;-) Das Programm wurde im Paket-Manager nicht gefunden!!! (Siehe Anhang) Was meinst Du wohl warum ich den Link angegeben habe?
Gast
#6781441
Andreas B. schrieb: > Was meinst Du wohl warum ich den Link angegeben habe? Weil es keine SPK File für meinen NAS gibt, der signiert usw. ist? Falls Du etwas aus dem Repo nehmen willst: Mit unison-gtk habe ich auch gute Erfahrungen gemacht. Sorry, vergiss es. Ich nahm an, Du wolltest mit dem Desktop das NAS synchronisieren.
Gast
#6781512
rsyn schrieb: > sudo env RSYNC_PASSWORD='Kugel' rsync -av -e --progress --delete > --partial 'ssh -p 5152' Shareer@DS220.ddns.net:/volume1/BackupOrdner1 > /volume1/BackupOrdner1 Jetzt unabhängig von Passwort: Ich bin mir recht sicher, dass das 'ssh' hinter das -e gehört. Teste doch mal ob rsync -av -e 'ssh -p 5152' --progress --delete --partial Shareer@DS220.ddns.net:/volume1/BackupOrdner1 /volume1/BackupOrdner1 mit manueller Passworteingabe funktioniert. Danach kannst du weitersehen. Wenn das ganze hinterher als Job laufen soll willst du wahrscheinlich auf das --progess versichten.
Gast
#6781520
Nix für ungut aber das mit Linux und eigenes NAS macht nur Sinn wenn man sich mal geduldig hinsetzen und sich Dinge erarbeiten kann. Dass man am Anfang mal die richtigen Seiten nicht kennt ist ja ok. Aber wenn du es nicht mal schaffst auf der Seite selbst nach „Password“ zu suchen oder eine Fehlermeldung selbst zu interpretieren, lässt nichts gutes erahnen. So wirst du mit Linux und einem eigenen NAS nicht glücklich.
Gast
#6781524
Und wir sind hier glaube alle keine rsync Experten. Wir lesen das auch nur.
Gast
#6781539
OK. Weiter gehts. Generell funktioniert es jetzt. Das synchn.
ABER:
Er will also nochmals das Passwort :-/ Es wird also nicht richtig übergeben. In der Hilfe ist das mit dem Password nicht gang eindeutig erklärt. Anonsten: WIE muss die Befehlsline aussehen? Warum eigentlich immer so kompliziert? Generier dir einen Passphrasefreien SSH-Key, hinterleg den bei deinem Gegenüber auf dem NAS und fertig. Wenn dir das unsicherer erscheint als das Passwort in eine Variable zu packen, kannst du den Key am NAS noch mit einem Forced-command absichern. Das Problem wäre hier auch ganz gut beschrieben: https://stackoverflow.com/questions/3299951/how-to-pass-password-automatically-for-rsync-ssh-command Gruß Gerd
Gast
#6782524
Gerd A. schrieb: > Warum eigentlich immer so kompliziert? Weil er nicht danach gefragt hat?
Gast
#6784612
DAS geht ohne Ssh Keyfile nicht, du Prolo!
Gast
#6784626
rsyn schrieb: > Das Programm wurde im Paket-Manager nicht gefunden!!! (Siehe Anhang) Einfach googeln, herunterladen, entpacken, install.sh ausführbar machen und mit ./install.sh installieren Ich würde hier auch eher mit einem SSH-Schlüssel und public-key-auth. Das kostet 5s suche nach genau dem was der TO hier vorhat: https://www.linux-magazin.de/ausgaben/2005/05/sicherer-hafen/
Gast
#6784640
rsyn schrieb: > env RSYNC_PASSWORD='Kugel' > export RSYNC_PASSWORD='Kugel' > sudo rsync -rav -e 'ssh -p 5152' --delete --partial --progress -z > Sharerer@DS220.ddns.net:/volume1/BackupOrdner1 /volume1/BackupOrdner1 rsyn schrieb: > Er will also nochmals das Passwort :-/ Das geht leider so nicht, da du durch den geänderten Port einen eigenen SSH-Befehl hast. Man könnte das mit sshpass lösen (falls vorhanden auf deinem Syno-NAS) oder halt wie schon drölfzig mal vorgeschlagen mit SSH-Key. Dies wäre auch aus zahlreichen anderen Gründen vorzuziehen.
Gast
#6785698
Das Password Thema hat nichts mit rsync zu tun. Am einfachsten ist es die Authentifikation mit dem public key durchzuführen. Somit den public key (zB. ~Lokalerbenuzter/.ssh/rsa_id.pub) vom lokalen NAS-Benutzer, in das .ssh Verzeichnis vom Benutzer Shareer auf dem remote NAS in die Datei authorized_keys eintragen. Dazu gibt es auf manchen Distri den Befehl "ssh-copy-id -p 5152 Shareer@DS220.ddns.net" -> lokal aufrufen. Danach sollte dies funktionieren: -z, komprimiert die Daten --partial, würde ich nicht machen, wenn diese in der Quelle schon kaputt sind, warum brauchst Du diese im Backup? rsync -azv --progress --delete --partial -e ssh -p 5152 Shareer@DS220.ddns.net:/volume1/BackupOrdner1 /volume1/BackupOrdner1
Gast
#6785700
die Authentifikation kann mit 'ssh Shareer@DS220.ddns.net' getestet werden
Gast
#6785711
Hugo schrieb: > rsync -azv --progress --delete --partial -e ssh -p 5152 Nein, wieder einer der es nicht verstanden hat... :'( rsync -azv --progress --delete --partial -e 'ssh -p 5152'
Gast
#6787003
Hugo schrieb: > die Authentifikation kann mit 'ssh Shareer@DS220.ddns.net' getestet > werden Wie kann ich das testen, mit einem anderen Zielport als Port 22? rsyn schrieb: > Wie kann ich das testen, mit einem anderen Zielport als Port 22? man ssh zeigt: -p port Port to connect to on the remote host. This can be specified on a per-host basis in the configuration file. Wenn man gerade kein Linux zur Hand hat, kann man auch "man ssh" bei google eingeben.
Gast
#6788051
OK weitergehts. Habe jetzt eine Keyyfile angelegt und kann mich auch ohne Passwort verbinden. (ssh Shareer@DS220.ddns.net -p 5152) Hier nur nochmals die Aufgabenstellung: Daten werden vom Remote Synology DS220 NAS abgeholt und dann lokal auf dem DS216 NAS abgelegt. Möglichst eine 1:1 Kopie. Der Benutzer "Shareer" ist auf der Remote NAS nur mit Leserechten als Benutzer ausgeführt. Er darf aber auf die Shell zugreifen. (auf /bin/sh in der /etc/passwd geändert) Der Benutzer "Backuper" ist auf der lokalen NAS nur mit Schreib/Leserechten als Administrator ausgeführt. Quelle Remote NAS:
Ziel Lokaler NAS:
Der "Administrator" Backuper führt den Rsync Befehl direkt in der Shell aus. Der rsync Befehl sieht nun wie folgt aus:
Leider erhalte ich noch diese Fehler:
Auf welcher Seite liegt das Problem? Remote oder Lokal? Ist das ein Rechteproblem vom "Backuper" auf der lokalen NAS oder der des "Shareer" auf der Remote NAS?
Gast
#6788054
Aja auch noch:
Hi, ein Grund könnte sein, dass die Filesysteme unterschiedlich sind: Quelle(NAS) = ext4 -> Ziel (lokal) = VFAT/NTFS, dann ist dein Problem das Ziel und beim Recovern ein Problemchen. Gruß Gerd Das sind doch beides Synology NAS. Warum nimmt Du nicht einfach Synology Drive ShareSync out of the Box? Genau dafür gemacht. https://kb.synology.com/de-de/DSM/help/SynologyDrive/drive_sharesync?version=6
Beitrag #6791231 wurde von einem Moderator gelöscht.
Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|