• In diesem Bereich findet ihr Tutorials und Reviews. Die Forenrechte zur Erstellung neuer Themen sind hier eingeschränkt, da Problemdiskussionen bitte in den übrigen Forenbereichen auf Apfeltalk zu führen sind. Wer ein Tutorial oder Review einstellen möchte, kann im Unterforum "Einreichung neuer Tutorials" ein neues Thema erstellen. Die Moderatoren verschieben den Beitrag dann in den passenden Bereich.
  • Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

[How to]Automatisiertes Backup via SSH

S3B

Antonowka
Registriert
08.12.05
Beiträge
357
Hallo Apfeltalker,

ich wollte euch meinen Workflow vorstellen, wie ich meine Daten als Ergänzung zu Timemachine, zusätzlich via SSH auf einem Webserver sichere.

1. Warum Datensicherung auf einem Webserver?

Es gibt mehrere Punkte die meiner Meinung nach für diesen Weg sprechen:
  • Timemachine Festplatte kann mal ihren Geist aufegeben, wenn sie gebraucht wird (bei mir schon vorgekommen :()
  • Daten sind von überall her erreichbar
  • lässt sich via AppleSkript und iCal sehr schön automatisieren
  • SSH via Terminal ist 1337 ;)
  • Dreamhost bittet noch mehr tolle Spielereien (Webdav, Jabber-Server, cooles Admin-Panel, ...)

2. Warum Dreamhost als Hoster?

Dreamhost bietet einen Shell Zugang und wirbt mit unbegrenzten Speicherplatz und Bandbreite, das das nicht realistisch ist kann man sich wohl denken, aber ein paar GB dürfte man ohne Probleme hochladen dürfen. Ich habe bis jetzt auch nur gute Erfahrung mit Dreamhost gemacht. Natürlich wird der Ping und die Geschwindigkeit bei einem deutschen Hoster besser sein, aber für meine Zwecke reicht es vollkommen aus und das Preis-Leistungsverhältnis stimmt einfach. Wer noch ein paar Dollar sparen möchte, kann bei der Anmeldung den Promocode: APFELTALK eingeben. Zusätzlich bekomm ich auch etwas, wenn ihr den Code eingibt (typische Win-Win-Situation;)).

3. Start

Nachdem ihr einen Dreamhost Account eingerichtet habt, müsst ihr eurem User den Shell Zugriff ermöglichen. Dazu geht ihr im Dreamhost-Webpanel (http://panel.dreamhost.com) unter Users>Manage Users>User Account Type und wählt dort "Shell Account" aus.

Bild2.png


Jetzt müssen wir den Zugang so einrichten, dass wir ohne Passwort-Eingabe auf den Server zugreifen können. Dazu müssen wir uns einen Schlüssel anlegen und diesen auf dem Server hinterlegen. Wie das funktioniert steht im Wiki von Dremhost (Wiki). Hier mal eine kleine Zusammenfassung auf Deutsch:

Öffnet das Terminal (findet man unter Dienstprogramme):

Code:
ssh-keygen -t rsa
  • 3x mit Enter bestätigen
Hiermit kopiert ihr euren Schlüssel auf den Server:

Code:
scp ~/.ssh/id_rsa.pub "euer_ssh_user"@"xyz.dreamhost".com:~/
  • scp - Befehl zum sicheren kopieren von Dateien)
  • ~ erstellt ihr mit ALT+N
  • "xyz.dreamhost" - Die Server Adresse bekommt ihr bei der Anmeldung mitgeteilt, sie besteht aus dem Maschinennamen xyz und .dreamhost.com

Jetzt verbinden wir uns mittels SSH auf den Server:

Code:
ssh "euer_ssh_user"@"xyz.dreamhost"

Mit folgenden Code wird ein Ordner erzeugt und der Schlüssel verschoben. Anschließend werden die Rechte angepasst:

Code:
mkdir .ssh
cat id_rsa.pub >> .ssh/authorized_keys
rm id_rsa.pub
chmod go-w ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Alle Befehle mit Enter bestätigen. Mit dem Befehl

Code:
exit

verlasst ihr den Server. Ob alles funktioniert hat, seht ihr, wenn ihr euch via SSH verbindet und ihr nicht nach eurem Passwort gefragt werdet:

Code:
ssh "euer_ssh_user"@"xyz.dreamhost"

4. Sync

Zum Synchronisieren der Dateien verwenden wir das Programm rsync. Es vergleicht ähnlich wie Timemachine zwei Ordner und kopiert die Unterschiede. Der Befehl lautet wie folgt:

Code:
rsync -avz ~/Documents/ "euer_ssh_user"@"xyz.dreamhost":~/"euer_backup_verzeichnis"/
  • "euer_backup_verzeichnis" erstellt ihr entweder mit einem FTP Programm wie Cyberduck oder auch via SSH:
Code:
ssh "euer_ssh_user"@"xyz.dreamhost" //falls ihr noch nicht verbunden seit
mkdir "euer_backup_verzeichnis"

Natürlich könnt ihr auch einen beliebig anderen Ordner als Documents syncen. Ihr könnt den Ordner einfach nach Eingabe von "rsync -avz" via Drag&Drop aufs Terminal ziehen oder den Pfad händisch eingeben.

Der erste Sync wird natürlich je nach Ordnergröße und Bandbreite eurer Leitung entsprechend lange dauern. Danach werden nur noch die Veränderungen hochgeladen.

5. AppleSkript und iCal

Um den Vorgang zu automatisieren öffnen wir den SkriptEditor und kopieren folgenden Code hinein:
Code:
do shell script "rsync -avz --delete-after ~/Documents/ "euer_ssh_user"@"xyz.dreamhost":~/"euer_backup_verzeichnis"/"
  • --delete-after - befiehlt dem Server alles zu löschen, was auch auf eurem Mac gelöscht wurde
Jetzt auf Ausführen klicken um zu testen ob alles richtig eingegeben wurde und das Skript in einem beliebigen Ordner abspeichern. Jetzt könnt ihr iCal öffnen und in einem neuen oder vorhandenen Kalender ein Ereignis erstellen, das sich täglich/wöchentlich/... wiederholt. Als Erinnerung fügt ihr jetzt das erstellte Skript hinzu und schon habt ihr ein vollautomatisiertes Backup!
Bild3.png
 

dewey

Gewürzluiken
Registriert
01.05.06
Beiträge
5.721
cooles tutorial. werd ich mal bookmarken und wenn mein book aus der reparatur wieder da ist als backup skript auf meinen homeserver benutzen!
 

S3B

Antonowka
Registriert
08.12.05
Beiträge
357
Jo, teste es mal. Würde mich freuen wenns funktioniert!