Thread zur Backup-FAQ

Für einen Klon Deiner Systemplatte kannst Du SuperDuper verwenden. Nachteil: Du mußt dran denken. rsync mit Zeitplan macht das ganz von alleine.
SuperDuper habe ich gerade hier irgendwo im forum als tipp gefunden, war gerade am einlesen ... ist ansonsten rsync besser? Muss sowieso meine platte fürs updaten anschließen, also nix automatisch ;)

Die Textdatei ist nicht weg, die liegt in / (vorausgesetzt, der Pfad zu deiner Textdatei war der richtige) und / findest Du, wenn Du in der Seitenleiste eines Finderfensters auf Dein Startvolume klickst.
Kann ich erst sehen, wenn ich das nochmal mache ...

Das Backup geht los, wenn der Zeitplan es befiehlt. Hast Du einen? Wenn nicht, mußt Du einen anlegen oder das Backup-Skript (das Du mit chmod +x ausführbar gemacht hast) von Hand starten. "mv" nämlich heißt nichts anderes als "move" und ist eine Funktion, die u.a. Daten bewegt, nicht aber Anwendungen startet.
Ach so! Also bis dahin alles richtig gemacht, cool! Soweit klingt auch alles logisch, jedoch "das Backup-Skript von Hand starten"? Kann ich wiederum nix damit anfangen, sorry, hab doch keinen terminalplan ...
Vielleicht versuch ichs echt ers ma mit SuperDuper und melde mich nochma, wenns da auch hakt ... Aber Du hast Licht in die Sache gebracht, sehr gut, danke Dir ...

p.s. für Freunde des Terminal-Vorgangs hab ich hier noch ne site gefunden:
http://www.egg-tech.com/mac_backup/
 
"das Backup-Skript von Hand starten"? Kann ich wiederum nix damit anfangen, sorry, hab doch keinen terminalplan ...

Ein Skript von Hand starten geht auf (mindestens) zwei Arten: mit Doppelklick auf die Datei (die ist nach dem "chmod +x"-Befehl eine ausführbare UNIX-Datei), oder indem Du im Terminalfenster "open" schreibst, ein Leerzeichen dahinter, dann mit der Maus die Datei in das Fenster bewegst und die Zeile mit "Enter" bestätigst.

Zum Thema Zeitplan wird in diesem thread einiges in Sachen "crontab" und "launchd" erklärt.
 
Was macht ihr es alle so umständlich?

Wenn du die Festplatte anschließt, dann startest du das Teil halt von Hand.

Und wenn du das Skript sinnvollerwise nach /bin verschoben hast, brauchst du im frischen Terminalfenster nur
Code:
sudo backup_system
eingeben und es rattert los.

Und nach /bin verschiebst du es mit
Code:
sudo mv backup_system /bin/backup_system
 
...
Und wenn du das Skript sinnvollerwise nach /bin verschoben hast,
...
Nein, das ist nicht sinnvoll, es ist nur einfach.
Sinnvoll ist es, einen separaten ordner für eigene Kommandos und Skripts anzulegen (üblich ist /usr/local/bin") und diesen in den Pfad aufzunehmen.
Im Augenblick hat I_am sicher andere Probleme, aber wenn die mal gelöst und verstanden sind, ... ;).
 
Nein, das ist nicht sinnvoll, es ist nur einfach.
Sinnvoll ist es, einen separaten ordner für eigene Kommandos und Skripts anzulegen (üblich ist /usr/local/bin") und diesen in den Pfad aufzunehmen.
Im Augenblick hat I_am sicher andere Probleme, aber wenn die mal gelöst und verstanden sind, ... ;).

Hey ihr seid echt lustig, ich als absoluter nixterminalchecker wollt halt auch mal schnell ein back up machen und dachte, genau nach anleitung klappts gleich beim ersten mal. Was weiß denn ich über separate ordner anlegen und verschieben ;) seid mir nicht böse, aber ich muss das einmal sehen und verstehen, dann weiß ich wies geht, aber so ... ? So einfach das für euch auch sein mag - habt ein wenig Nachsicht! terminal? andere sprake ...
Habs jetzt mit superduper hingekriegt, wenn auch mit hindernissen, da ich die erstellte partition, durch das terminalscript belegt, nochmal kurz löschen musste und die firewallprogrammdateien finden und löschen, weil sich superduper beim duplizieren dran aufgehangen hat ... jetzt hab ichs geschafft, wenn auch die genauen Größenangaben des Benutzers auf beiden Platten (apfel+I) leider nicht identisch sind, was mir schon wieder zu denken gibt :hum:, hoffe, das ist nicht dramatisch, aber es ist bootfähig, yeahyeah! Ziel erreicht und ich danke euch für eure tollen tipps - ich weiß es sehr zu schätzen, auch wenn ichs manchmal nich gleich verstehe !!!
:zwinker:
 
Incrementle Backup via ssh auf server

Also ich muss erst mal den initiator loben!!

hat mir wirklich weitergeholfen!!

aber nun zu meinem anliegen...

also folgends scripts laeuft wunderbar local:

Code:
#!/bin/sh

# INKREMENTELLLE BACKUPS

# Die folgenden Variablen müssen vom Benutzer angepasst werden

        # Zu sicherndes Verzeichnis (z.B. /Users/):
          a="/Users/sheep/"

        # Verzeichnis bzw. Volume, in dem die Backups gespeicher werden sollen (z.B. /Volumes/Backup):
          b="/Volumes/Backup"

        # Anzahl zu sichernde Versionen (z.B. 5; das Minimum ist 2!):
          c=5


# Ab hier sollte man normalerweise nichts mehr ändern müssen

# Überprüfen, ob das Verzeichnis $b existiert bzw. das entsprechende Volume gemountet ist - abbrechen, falls nicht
if [ -d $b ]; then
        echo "" > /dev/null
else
        exit
fi

# Backup-Verzeichnisse erstellen, falls sie nicht existieren
e=$c
while [  $e -gt 0 ]; do
let e=e-1
if [ -d $b/backup.$e ]; then
        echo "" > /dev/null
else
        mkdir $b/backup.$e
fi
done

# Datum aufzeichnen (Beginn)
touch $b/backup.log
/bin/echo "Backup begonnen um:" >> $b/backup.log
/bin/date >> $b/backup.log

# Backup-Verzeichnisse rotieren
let c=c-1
d=$c
rm -rf $b/backup.$c
while [  $c -gt 1 ]; do
        let d=$c
        let c=c-1
        mv $b/backup.$c $b/backup.$d
done
let d=d-1
let c=c-1
cd $b/backup.$c && find . -print | cpio -dpl ../backup.$d

# Den eigentlichen Backup-Prozess starten
/usr/bin/rsync -aE --delete --exclude=.Spotlight-V100 $a $b/backup.0/

# Datum aufzeichnen (Ende)
/bin/echo "Backup beendet um:" >> $b/backup.log
/bin/date >> $b/backup.log
/bin/echo "--------------------------------------" >> $b/backup.log

# Datum von backup.0 in eine Datei sichern
/bin/date > $b/backup.0/datum

jetzt wuerde ich dieses script gerne so modifizieren, dass der Client das Script local aufruft (doppel klick oder via run script in iCal), welches dann die daten auf dem server ablegt!
wahrscheinlich ganz einfach, aber... es ist spaet und kenne mich zu schlecht aus...

was derweile problemlos funktioniert

Code:
 rsync -avz -e ssh /Users/ts/Desktop/backup root@10.1.10.123:/test

ach ja
dsa/rsa codes sind installiert -> server (terastation pro2) kann per ssh auf die clients zugreifen und anderesrum, OHNE ein passwort eingeben zu muessen (hat auch nicht auf anhieb geklappt, wird hier aber gut erklaert: http://www.debianadmin.com/ssh-your-debian-servers-without-password.html

also wie muss ich dieses wunderbar script anpassen... hab schon rumprobiert, aber ohne erfolg...

ach ja vielleicht sollte ich noch erwaehnen, dass auf dem server (terastation) nur rsync version 2.6.8 installiert...

ansonsten hab ich rsync auf dem pc nach der anleitung von http://www.bombich.com/mactips/rsync.html installiert...

also hoffe auf konstruktive aeusserungen.

gruss
philipp

nachtrag:
Code:
 rsync -av -e ssh /Users/ts/Desktop/backup root@10.1.10.123:/test
laufen und es ist aerbaermlich langsam, habe hier gbit netzwerk, liegt das am ssh? http://www.psc.edu/networking/projects/hpn-ssh/ muess ich etwar ssh nochmals selber durch den compiler jagen!? mit langsam meine ich uebriges max. 1,6mb per second :(
 
Zuletzt bearbeitet:
Niemand ne ahnung?! ich glaube ich starte mal einen neunen thread... das geht hier glaube leider unter... 48 seite... :eek:
 
Warum, hier sind doch die ganzen Leute, die sich für dieses Thema interessieren.
 
also hab jetzt was gefunden, ist super slim:

Code:
#!/bin/sh
# rotate backups
rm -fr 9
mv 8 9
mv 7 8
mv 6 7
mv 5 6
mv 4 5
mv 3 4
mv 2 1
mv 1 2
# now make a copy using links of the latest backup
cp -la 0 1
# update the "0" backup with fresh files
rsync -av --delete backup@myserver.net:/ /storage/backups


hab es noch nicht probiert, da ich nicht im studio bin, aber sieht gut aus würde ich sagen...

allerdings hab ich geraed gesehen, dass in diesem script ssh nicht beschrieben wir
also kein
Code:
rsync -av --delete ssh backup@myserver.net:/ /storage/backups

sondern nur:
Code:
rsync -av --delete  backup@myserver.net:/ /storage/backups

vielleicht kann man das auch einfach in dem script von sheep so schreiben uns es geht dann vielleicht auch, ich hab bis jetzt immer noch ein ssh im script hinzugefügt...

naja vielleicht hilft es ja jemand...

ich hab es übrigens hier gefunden, falls es euch nutzt konnte ihr ihm ja nen netten comment schreiben!
http://blog.jphoude.qc.ca/2007/12/01/simple-incremental-backup-rsync-ssh/
 
also hab jetzt was gefunden, ist super slim:

Code:
#!/bin/sh
# rotate backups
rm -fr 9
mv 8 9
mv 7 8
mv 6 7
mv 5 6
mv 4 5
mv 3 4
mv 2 1
mv 1 2
[...]
...
Wenn du wirklich eine schlanke Lösung möchtest, solltest Du Dir mal Schleifen ansehen ;). Ich würde außerdem die älteren Backups in Archiv stecken und komprimieren. Habe aber Deine Anforderungen nicht so genau begriffen.
 
Wenn du wirklich eine schlanke Lösung möchtest, solltest Du Dir mal Schleifen ansehen ;).

:)

In Informatik sollten wie die Zahlen 0 bis 100 in einen Stack einfügen. Jeder sollte seine Lösung an die Tafel schreiben.

Ich:
Code:
for (i = 0; i <= 100; i++)
    liste.insert(i);

Einige andere:
Code:
liste.insert(0);
liste.insert(1);
liste.insert(2);
...
liste.insert(100);


Ja, Schleifen sind schon eine nette Sache ;)
 
Habe aber Deine Anforderungen nicht so genau begriffen.

ich würde gerne das script von sheep benutzen, hab es aber noch nicht zum laufen bekommen...

die anforderungen an das skript sind folgende:

Das Script soll auf dem client liegen und von dort auch gestartet werden, die daten sollen dann via ssh inkrementel auf den server kopiert werden, fertig...


wie muss ich den pfad angeben, dass dies funktioniert:
Code:
        # Zu sicherndes Verzeichnis (z.B. /Users/):
          a="/Users/sheep/"

        # Verzeichnis bzw. Volume, in dem die Backups gespeicher werden sollen (z.B. /Volumes/Backup):
          b="/Volumes/Backup"

ich glaube jedoch, dass es einfach ist, das script auf den server zu legen, da wie es aussieht zuerst die ordner angelegt werden und die daten via hardlinks kopiert werden UND ERST dann die ssh abfrage kommt...

also im prinzip wäre es mir egal, wenn der server den prozess startet, aber der server ist halt nur ne terastation und nicht so schnell oder ist das egal? ich meine die daten müssen ja verglichen werden, oder macht das dann der client?

naja bin jedenfalls auf hilfe angewiesen...

schönes weekend, hier wird jetzt gekocht ;)
 
Das Skript von sheep geht anscheinend davon aus, dass das Ziel lokal gemountet ist ("Volumes/...").
Wenn Du aber über ssh auf einem entfernte Rechner speichern möchtest, ist das nicht der Fall.
Du musst Dein Skript also etwas anders aufbauen.
 
kleiner nachtrag...

also das script von sheep funktioniert perfekt, wenn der server die abfrage startet!

als backup lokation muss lediglich:

Code:
ssh user@server_ip:/zielordner
lauten
... aber wie gesagt ich würde gerne das script local vom client starten und nicht über den server laufen lassen... ist nur eine feinheit, aber es würde mich aus reiner neugier interessieren!

wie müsste ein script aussehen das auf dem client gestartet wird, welches lediglich sich am server einloggt und das rsync script startet...

good night, i'm drunken and tired:drink:
 
Du kannst das ssh weglassen, musst aber den Schlater -e verwenden.
 
genau es muss:

Code:
# Zu sicherndes Verzeichnis (z.B. /Users/):
          a="USERNAME@HOSTname_or_IP:/verzeichniss/"

NICHT
Code:
# Zu sicherndes Verzeichnis (z.B. /Users/):
          a="[COLOR="Red"]ssh[/COLOR] USERNAME@HOSTname_or_IP:/verzeichniss/"

funktioniert hervorragend!:cake:

aber wie gesagt, ich würde es gerne auch anderesrum machen können, also dass das script auf den einzeln rechnern läuft, wer noch ne tipp hat... bzw. das wissen, dass script abzuändern, her damit ;) wär super!

gute nacht...
 
Das Skript von sheep geht anscheinend davon aus, dass das Ziel lokal gemountet ist ("Volumes/...").

Hab mir das script jetzt nicht noch mal angeschaut.
aber die einfachste lösung dürfte dann das mournten per samba, nfs, sshfs o.ä. sein. dann kann rsync einfach lokal auf dem client laufen...
 
Ich habe ein System-Klon-Backup und bei jedem Backup kopiert der für jede einzelne Datei diese versteckte Zwillingsdatei mit:

Code:
Applications/OpenOffice.org.app/Contents/basis-link/program/._libetimxi.dylib
Applications/OpenOffice.org.app/Contents/basis-link/program/._libevoab1.dylib
Applications/OpenOffice.org.app/Contents/basis-link/program/._libevtatt.dylib
Applications/OpenOffice.org.app/Contents/basis-link/program/._libexpmxi.dylib
Applications/OpenOffice.org.app/Contents/basis-link/program/._libfileacc.dylib
Applications/OpenOffice.org.app/Contents/basis-link/program/._libfilemxi.dylib
Applications/OpenOffice.org.app/Contents/basis-link/program/._libfilterconfig1.dylib
Applications/OpenOffice.org.app/Contents/basis-link/program/._libflashmxi.dylib
Applications/OpenOffice.org.app/Contents/basis-link/program/._libflatmxi.dylib
Applications/OpenOffice.org.app/Contents/basis-link/program/._libfrmmxi.dylib
Applications/OpenOffice.org.app/Contents/basis-link/program/._libfwemxi.dylib
Applications/OpenOffice.org.app/Contents/basis-link/program/._libfwimxi.dylib
Applications/OpenOffice.org.app/Contents/basis-link/program/._libfwkmxi.dylib
Applications/OpenOffice.org.app/Contents/basis-link/program/._libfwlmxi.dylib
Applications/OpenOffice.org.app/Contents/basis-link/program/._libfwmmxi.dylib

Ist das normal, und kann man dem das abgewöhnen?
 
Ist das normal, und kann man dem das abgewöhnen?

Das ist normal und abgewoehnen wuerde ich es nicht, da Du sonst kein vollstaendiges Backup hast. Die ._-Dateien enthalten Metainformationen zur Datei. Einfach ignorieren und gut isses, im Mac OS siehst Du die ueblicherweise einfach nicht, da Dateien, die mit . beginnnen in Unixen versteckte Dateien sind.

Wile
 
Zurück
Oben Unten