Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Backup mit rsync

Backup mit rsync

macmax16.12.1507:51
Liebe Rsync-Experten,

mittels Automator möchte ich gerne ein Programm für inkrementelle Backups erstellen. Es wird ein sehr einfacher Ablauf mit Besätitung verlagen, Shell Skript ausführen, Nachricht zum Ende anzeigen. So weit so gut. Im Shell Script soll dann eben rsync seinen Dienst tun. Vorneweg: genau da weiß ich nicht weiter, weil ich damit keine Erfahrung habe.

Folgende zwei Szenarien soll es geben:

(jeweils zwei externe Festplatten)
1. Daten von Platte1 auf Platte2
2. Daten von Platte1 auf Fileserver (im lokalen Netzwerk)

Unter 1. steht noch nicht fest, ob die komplette Platte1 auf Platte2, oder nur einzelne Ordner.

Ich habe rsync mal kurz getestet (unwichtige Daten von USB-Stick auf Ordner im Home-Verzeichnis meines Mac und umgekehrt), aber entweder einen Error oder "Skipping Directory" erhalten.

Das Problem wird sein, dass ich mit den Optionen und Attributen nicht zurecht komme. Auch "man rsync" hilft mir nicht weiter. Alles, was ich für sinnvoll hielt, ergab eben entweder Error oder "Skipping...".

Wie gesagt, der Vorgang soll sehr simpel sein: Daten von A nach B, inkrementell zu sichern. Das heißt ich will keinen Klon! Gelöschte Dateien auf der Quelle sollen nach wie vor im Ziel auffindbar sein (also brauche ich wohl nicht -delete, richtig?).
Das einzige Extra soll noch eine Log-Datei sein. Aber die sollte dann nur den letzten Backup-Vorgang aufzeichnen, sonst wird die zu groß und unübersichtlich.

Ich fasse zusammen: inkrementelle Backups von A nach B, ohne irgendwelche speziellen Zusätze. Log-Datei wäre noch gut. Aber:
rsync /Volumes/Platte1/Ordner1/ /Volumes/Platte2/Ordner2/ bringt mir nur einen Fehler.

Ach ja: mir ist natürlich Carbon Copy Cloner bekannt, welches ich selbst auch benutze, aber das Automator-Programm ist für jemand anderen. Die Person soll nur eine Datei anklicken, einmal bestätigen müssen, sonst wird das zu kompliziert, glaubt mir

Dann hoffe ich mal auf erhellende Hinweise

Viele Grüße!
0

Kommentare

caMpi
caMpi16.12.1508:21
Ich nutze genau so ein Skript (allerdings mit Löschen) um gelegentlich einen Ordner auf eine externe Platte zu sichern. Seit Mavericks bekomme ich am Ende auch eine Fehlermeldung, der Sync an sich funktioniert aber.
Ich sichere an die 60 GB, da läuft das Skript schon eine Weile. Meldungen hab ich aber keine eingebaut, denn solange das Skript läuft, dreht sich rechts oben in der Menüleiste ein Zahnrädchen. Wobei eine Meldung mit Automator auch kein Problem sein dürfte.
Wenn ich dran denk, stell ich das "Skript" heut Abend mal hier rein.
„Keep IT simple, keep IT safe.“
0
macmax16.12.1508:27
Zunächst mal vielen Dank für deine Antwort!!

Ich habe bisher rsync nur direkt im Terminal getestet und da wurde definitiv nichts gesichert. Aber ob es daran lag?

Wie auch immer, ich bin gespannt auf deine Befehlszeile

Sicherst du dich 60 GB jedes Mal komplett?

Das Rädchen kenne ich bereits von anderen Automator-Workflows. Eine Besätitung ist wirklich kein Problem. Sie erscheint dann oben rechts (quasi wie aus der Mitteilungszentrale) und verschwindet erst, wenn man draufklickt (Text frei wählbar, wie anfangs bei der Bestätigung).

Ich hab noch als Scherz überlegt zum Schluss say -v fred "backup complete" auszugeben
0
Duck Dodgers16.12.1510:16
Sei mir nicht bös, aber mal ganz ehrlich, warum nutzt du rsync, wenn du keinen Schimmer hast, was du da machst? Da hilft dir auch ein Skript von anderen Usern wenig, wenn du nicht verstehst, was da passiert und warum der User diese Optionen nutzt.
macmax
rsync /Volumes/Platte1/Ordner1/ /Volumes/Platte2/Ordner2/ bringt mir nur einen Fehler.
Hast du die Doku gelesen, du musst rsync schon sagen, was er machen soll! Lies dir mal die Doku durch:

https://rsync.samba.org/documentation.html

Ansonsten würde ich dir empfehlen lieber eine GUI für rsync oder gleich ein Backup Programm zu benutzen, denn wenn du rsync nicht mit den richtigen Optionen betreibst, werden nicht alle Daten gesichert und dann bringt dir dein Backup nichts.
0
macmax16.12.1511:22
Ich habe mit genau solchen Antworten gerechnet (Danke dafür). Daher folgende Antwort:

Noch nutze ich überhaupt nichts. Was ich bisher mache, ist Fragen, wie es funktionieren könnte. Gerade WEIL ich bisher nicht genau weiß, wie es funktioniert. Meckern könntest du, wenn ich das "Script" bereits einsetzen würde ohne zu wissen, was ich da treibe (und dann Datenverlust riskiere).

Das Ganze ist bisher nur eine IDEE. Aus folgendem Grund nehme ich keine GUI: Du kennst die Person nicht, für die ich das mache. Ich möchte ihr eine einfache Möglichkeit geben, Ihre Daten zu sichern, ohne dass sie sich noch in einer GUI zurechtfinden muss. Eine Datei anklicken und das Programm macht den Rest, fertig. Aber das habe ich auch schon geschrieben.

Die Dokus habe ich mir natürlich angeschaut, aber wie schon gesagt: ich habe da noch Verständisschwierigkeiten. Ich möchte es aber gerne verstehen. Was ist verwerflich daran, wenn ich mich in rsync einarbeiten möchte und deshalb mal nachfrage?

Ich habe auch nie gesagt: bitte schreibt mir ein Script, welches ich dann nutzen kann. Ich möchte ja verstehen, was da vor sich geht, um es dann selbst schreiben zu können. Da können Scripte anderer Nutzer (um die ich nicht mal gebeten habe) sehr wohl helfen.
0
macmax16.12.1511:32
Mir fällt grad auf, meine Antwort klingt irgendwie zickig - so war es aber gar nicht gemeint Also nicht falsch verstehen bitte.
0
MikeMuc16.12.1511:44
Duck wollte wohl eher damit Ausdrücken das du dich auf dünnes Eis begibst wenn du rsync nutzen willst, selber aber so wenig Ahnung davon hast das du lieber fragst weil du die Doku dazu zu (noch) nicht verstehst.

Natürlich darf und soll jeder dazu lernen. Aber wenn du dieses Backupscript für jemand anderen erstellst (und seien es nur deine Eltern oder Freunde) dann solltest du dir deiner Sache sicherer sein.

Daher wäre es vielleicht besser du versuchst die Aufgabe mit einen etablierten Programm mit GUI zu lösen welches entweder automatische Tasks erstellen kann oder "interne Scripte" hat die du einfach per Menü aufrufen kannst. Dann braucht sich keiner mit den Feinheiten im Unterbau zu beschäftigen.
Denn die Ansage: starte Programm x und wähle Menüpunkte y aus ist sicher auch noch "Daukompatibel".
Und wenn es dann noch einfacher sein muß: schau ob du den Programmaufruf per AppleScript/Automator angehen kannst.

Nebenbei: ist TimeMachine wirklich keine Wahl? Oder CCC welches sogar zeitgesteuert inkrementelle Backups auf FTP-Server erstellen kann?
0
Duck Dodgers16.12.1511:59
Ja sorry, war nicht bös gemeint. Aber
macmax
rsync /Volumes/Platte1/Ordner1/ /Volumes/Platte2/Ordner2/ bringt mir nur einen Fehler.
zeigt, dass du nicht mal ansatzweise verstanden hast, wie rsync funktioniert! Versteh mich nicht falsch, aber genau aus diesem Grund solltest du von rsync die Finger lassen Ansonsten beschäftige dich damit und wenn du konkrete Fragen hast, bekommst du hier auch Hilfe
MikeMuc
Duck wollte wohl eher damit Ausdrücken das du dich auf dünnes Eis begibst wenn du rsync nutzen willst, selber aber so wenig Ahnung davon hast das du lieber fragst weil du die Doku dazu zu (noch) nicht verstehst. ...
Genau darum ging es mir!
0
macmax16.12.1512:42
Ach...vergesst die Sache einfach Hatte wohl falsche Erwartungen. Ich hab im erweiterten Bekanntenkreis jemand gefunden, der sich trotz meiner nicht mal ansatzweise vorhanden Kenntnisse bereit erklärt hat, mir zu helfen.

Schöne Weihnachtszeit noch.
0
Duck Dodgers16.12.1512:50
Warum nicht gleich so ... ebenso eine schöne Weihnachtszeit
0
macmax16.12.1512:54
Wie gesagt, falsche Erwartungen, die halt nicht alle erfüllen können
0
MikeMuc16.12.1516:06
Haupsache man kennt jemanden der jemanden... Der hat man dann auch gleich jemanden der Schuld ist wenn es dann nicht so klappt wie gedacht
0
caMpi
caMpi16.12.1518:03
Hier meine Zeile - alle Angaben ohne Gewähr:
rsync -rvlpHtE --delete /Users/user1/Syncfolder /Volumes/External/ > /Users/user1/Synclog.txt
Ich kopiere/synchronisiere den Ordner "Syncfolder" in meinem Userverzeichnis auf die oberste Ebene meiner externen Festplatte mit dem Namen "External". Das Ergebnis des Logs lasse ich mir in die Datei Synclog.txt schreiben, die in meinem Homeverzeichnis abgelegt wird.
Die Parameter:
-r = recursive, ich nehme auch Unterverzeichnisse und deren Ordner und Dateien mit
-v = verbose, einfach angewandt bekomme ich somit angezeigt, bei welcher Datei das Skript gerade ist
-l = links, hiermit nehme ich Symlinks mit und bin mir bewusst, dass sie auf dem gesicherten Volume nicht funktionieren werden
-p = perms, ich nehme auch die Ordner- und Dateiberechtigungen mit, wenn ich diese auf meinem Ziel aktiviert habe
-H = hard-links, zusätzlich nehme ich Hardlinks mit und hoffe, dass sie beim Rücksichern wieder funktionieren
-t = times, die kopierten/synchronisierten Dateien behalten ihre Erstellzeiten bei und bekommen nicht die Zeiten des Kopiervorgangs
-E = extended-attributes, behält Attribute bei; ich meine geschützt und versteckt gehören dazu
--delete, löscht mir auf dem Ziel alles, was auf der Quelle nicht (mehr) vorhanden ist

Es werden natürlich nicht immer 60 GB gesichert, das ist nicht die Funktion von rsync. Lediglich die geänderten Dateien werden tatsächlich kopiert. Alle anderen nur "verglichen".
„Keep IT simple, keep IT safe.“
0
macmax16.12.1519:45
MikeMuc
Haupsache man kennt jemanden der jemanden... Der hat man dann auch gleich jemanden der Schuld ist wenn es dann nicht so klappt wie gedacht

Wenn das deine Art ist, tut mir das sehr leid für dich!

Komischerweise hat sich die Person jetzt keinen Zacken aus der Krone gebrochen, mir kurz zu helfen. Und siehe da, alle Fragen beantwortet, denn ganz so unbedarft bin ich dann auch nicht.
Ich verspüre auch komischerweise nicht den Drang, andere für meine Fehler verantwortlich zu machen.
0
MikeMuc17.12.1501:43
Wer Ironie nicht versteht oder erkennt darf sie auch nicht behalten. Hauptsache du hast eine Lösung
0
almdudi
almdudi17.12.1510:19
Bin jetzt gespannt, was rauskommt. Ob der nette Helfer wirklich so gut erklären kann, daß der TE der fremden Person ein Skript basteln kann, das dann auch dort funktioniert.
Hier im Forum hätte man wenigstens Korrekturmöglichkeiten, wenn einer Unsinn schreibt oder sich vertippt.
Aber immerhin eine neue Erkenntnis für mich: daß die Bedienung einer simplen GUI wie etwa arRsync schwierig ist. Na ja, solange alles wirklich perfekt abläuft, nie eine Fehlermeldung kommt oder der unbekannte Empfänger des Skriptes niemals irgendetwas an seiner Konstellation ändert…
Hoffen wir das Beste.
Reicht ja bei einem Backup.
0
MacRudi17.12.1510:39
Ich verstehe nicht wirklich, warum man ihm hier teilweise nicht helfen mochte und jetzt noch nachtreten muss. Aber man muss ja auch nicht alle verstehen.

Überdies hatte ich mit rsync schlechte Erfahrungen gemacht. Sowohl direkt als auch mit arRsync. Von den 250.000 Dateien bei 1&1 wurden 2.000 etwa nicht gesynct. Habt ihr bessere Erfahrungen damit gemacht? Welche Version von rsync habt ihr verwendet?

So machte es für mich jedenfalls keinen Sinn.
0
maybeapreacher
maybeapreacher17.12.1512:17
Hier mal meine Version eines Skriptes. Im Herzen nutzt es rsync, allerdings verhält es sich wie timemachine: Behält Versionen und sichert nur die Änderungen. Ich beschränke mich auf 10 Tage, das kann aber angepasst werden. Für einen Kunden hatte ich das angepasst damit es im Wechsel zwei Festplatten bedienen kann. Außerdem kann es mails schicken und erstellt Logfiles.

Allerdings sind die Zeilenumbrüche hier im Forum furchtbar

#!/bin/bash
# TimeMachine-Like rsync-Backupscript
# © by Thomas Zimmermann thommy@tomkatweb.org
#
# this work is based on the work over at http://blog.interlinked.org/tutorials/rsync_time_machine.html## 
#
# Tipps:
# - Restore a file: Simply drag&drop it
# - To see the actual disk-requierements for a single backup: du -shc back-*
# - You can remove an old backup by simply deleting the directory
# - "rsync -E" is just for MacOS X Systems. It keeps the extended attributes
# - to send eMails:
#    GUT=/path/to/file/gut.txt
#    mailx -s "Test" billg@hotmail.com < $GUT
DATE=`date "+%Y-%m-%d_%H_%M“`
HOME=/Users/username/
EXCLUDE=/path/to/excludefile
SOURCE=/path/to/source
DESTA=/path/to/backup/volume1
DESTB=/path/to/backup/volume2
LOG=/path/to/logfile/backup.log
CTIME=+10d

echo "starting backup" >> $LOG
date "+%Y-%m-%d_%H_%M" >> $LOG
if test -d $DESTA;
  then
  echo "found volume A, begin backup" >> $LOG
    rsync -aEz --verbose --delete --delete-excluded --exclude-from=$EXCLUDE --link-dest=$DESTA/current $SOURCE $DESTA/back-$DATE >> $LOG
 
  rm -f $DESTA/current
  ln -s back-$DATE $DESTA/current
 
  echo "deleting backups older than $CTIME" >> $LOG
  find /Volumes/BackupA/back-* -type d -ctime $CTIME -exec rm -rf {} \;
 
  echo "finishing backup" >> $LOG
  date "+%Y-%m-%d_%H_%M" >> $LOG
  echo "###" >> $LOG
 
  exit 0
 
  else
  echo "volume A not found, checking for volume B" >> $LOG
    if test -d $DESTB;
      then
        echo "found volume B, begin backup" >> $LOG
       
        rsync -aEz --verbose --delete --delete-excluded --exclude-from=$EXCLUDE --link-dest=$DESTB/current $SOURCE $DESTB/back-$DATE >> $LOG
       
        rm -f $DESTB/current
        ln -s back-$DATE $DESTB/current
       
        echo "deleting backups older than $CTIME" >> $LOG
        find /Volumes/BackupB/back-* -type d -ctime $CTIME -exec rm -rf {} \;
       
        echo "finishing backup" >> $LOG
        date "+%Y-%m-%d_%H_%M" >> $LOG
        echo "###" >> $LOG
    exit 0
       
      else
        echo "!! volume B not found as well, aborting backup !!" >> $LOG
        exit 1
    fifi
    exit 1
0
Duck Dodgers17.12.1513:58
MacRudi
Ich verstehe nicht wirklich, warum man ihm hier teilweise nicht helfen mochte und jetzt noch nachtreten muss. Aber man muss ja auch nicht alle verstehen.
Das hat nichts mit "nicht helfen wollen" zu tun rsync ist ein super kommandozeilen Tool, aber man muss sich damit beschäftigen! Wenn hier konkrete Fragen sind, werden ihm sicher mehrere Leute helfen können
MacRudi
Überdies hatte ich mit rsync schlechte Erfahrungen gemacht. Sowohl direkt als auch mit arRsync. Von den 250.000 Dateien bei 1&1 wurden 2.000 etwa nicht gesynct. Habt ihr bessere Erfahrungen damit gemacht? Welche Version von rsync habt ihr verwendet?
Ich sichere mit der aktuellen Version mehrere Rechner. Dateien fehlen bei mir keine ... vermutlich einfach falsch konfiguriert?
0
MacRudi17.12.1520:33
Duck Dodgers
... vermutlich einfach falsch konfiguriert?
Stimmt, das wirds sein

Die "aktuelle" Mac-Version ist recht alt und von Mac zu Mac wahrscheinlich unproblematisch, aber in der Welt da draußen geht es weiter mit neuem Protokoll, das die Mac-Version nicht mehr kann. Drum habe ich die tatsächlic neueste Version auf den Mac gespielt und damit war es dann so.
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.