Backup-Routine via Terminal?

mann-aus-wurst

mann-aus-wurst

Aktives Mitglied
Thread Starter
Dabei seit
13.12.2004
Beiträge
2.195
Reaktionspunkte
256
Hallo,

ich würde meinen Benutzerordner gerne via Terminal auf eine externe Festplatte klonen, allerdings stoße ich dabei auf ein paar Probleme. Zwar wird die externe FireWire-Festplatte (Format: FAT32, wegen der Kompatibilität mit Windows) korrekt angezeigt, sie trägt den Namen einfallsreichen Namen „BACKUPHD“, allerdings wird sie intern scheinbar manchmal unter einem anderen Namen verwaltet.
Eine Überprüfung gab mir Recht, im unsichtbaren Ordner „Volumes“ führt Mac OS X (ich nutze 10.4.11) jedes Medium auf, dort fand ich drei Varianten meines Festplattennamen, jeweils aufnummeriert, also z.B. „BACKUPHD 2“.

Die erste Frage lautet daher: In welchen Fällen macht Mac OS X das?
Ich könnte mir vorstellen, dass beim Aktivieren des Ruhezustands der FireWire-Festplatte und dem anschließenden Erwachen, neue interne Namen vergeben werden. Ist dem so?

Mein Lösungsansatz, den ich nun noch verbessern möchte, ist folgender: Ich benutze den Befehl
Code:
asr restore --source /Users/ --target /Volumes/BACKUPHD/
für den Klon-Vorgang meines Benutzerordners. Wäre es möglich, die externe Festplatte vor dem Klon-Befehl via Terminal zu deaktivieren und unter neuem Namen zu mounten, so dass der Target-Name immer auf ein einheitliches Ziel verweist?

Vielleicht habt ihr ein paar Ideen?!

P.S. An alle gut gemeinten Ratschläge: Nein, ich will weder SuperDuper, CCC oder andere Backup-Hilfsmittel verwenden, es geht mir allein um die Machbarkeit mit Hilfe des Terminals.
 
Okay, soweit so gut. Der Fehler lag schlicht und ergreifend bei mir, die externe Platte wurde wohl nicht richtig ausgeworfen und danach fehlerhaft gemountet. Ich kann nun leicht Backups erstellen, indem ich beispielhat
Code:
sudo hdiutil create -srcfolder /Volumes/MacintoshHD/Users/ /Volumes/BACKUPHD/Backups/Benutzerordner.dmg
eingebe.

Nun habe ich noch eine Frage: Wie benenne ich einen Ordner oder eine Datei mit Hilfe des Terminal automatisch mit dem aktuellen Datum um? Ich suche einen Befehl, der ähnlich wie in Automator die Funktion „umbenennen“ ermöglicht und den Datei/Ordnernamen beispielsweise (wie heute) in „20090801“ ändert.
 
entweder mit mv oder touch...
 
Ja, mv kenne ich bereits. Aber das klärt noch nicht die Frage. Ich möchte keinen Namen in einen anderen Namen ändern, ich möchte einen Datei- bzw. Ordner-Namen automatisch in den aktuellen Tag umbenennen lassen (für heute z.B. von „Backup“ in „20090801“). Wie lautet der exakte Befehl, mit „mv“ oder „touch“ komme ich leider nicht weiter, da muss mehr dranhängen.
 
Code:
mv Backup `date +%F`

Oder %Y%m%d statt %F.
 
  • Gefällt mir
Reaktionen: mann-aus-wurst
So, hier haben wir also das komplette Backup als rundum sorglos Paket.
Zunächst werden die obligatorischen Wartungsarbeiten am System durchgeführt, danach wird der Speicherfresser Safari dingfest gemacht und am Ende wird der Benutzerordner entweder dupliziert…
Code:
sudo periodic daily weekly monthly; sudo diskutil repairPermissions /; sudo update_prebinding -root / -force; rm -rf ~/Library/Caches/com.apple.Safari/Webpage\ Previews/; ditto ~/ /Volumes/BACKUPHD/Backups/`date +%Y%m%d`; killall Terminal
…oder als Image…
Code:
sudo periodic daily weekly monthly; sudo diskutil repairPermissions /; sudo update_prebinding -root / -force; rm -rf ~/Library/Caches/com.apple.Safari/Webpage\ Previews/; sudo hdiutil create -srcfolder ~/ /Volumes/BACKUPHD/Backups/`date +%Y%m%d`.dmg; killall Terminal
…auf eine externe Festplatte geschrieben. Gestartet wird diese Backup-Lösung über iCal täglich um 12 Uhr, das Terminal schließt sich nach vollendeter Arbeit von allein.

Habe ich etwas vergessen? Nicht schlecht für die ersten Terminal-Erfahrungen, oder?
Ich will mich in diesem Zuge noch einmal herzlich für eure Hilfe bedanken. :upten:
 
Habe ich etwas vergessen? ...

Ja, Du könntest noch prüfen, ob die Backuphd überhaupt da ist.
Z.B. einfach eine Datei in's Plattenroot und prüfen, ob existent.
Oder halt den Backups-Ordner auf Existenz prüfen.

Sonst passiert ja wieder das MOHOZIV (MountordnerhochzähleninVolumes).
 
Zuletzt bearbeitet:
Ja, Du könntest noch prüfen, ob die Backuphd überhaupt da ist.
Z.B. einfach eine Datei in's Plattenroot und prüfen, ob existent.
Oder halt den Backups-Ordner auf Existenz prüfen.

Sonst passiert ja wieder das MOHOZIV (MountordnerhochzähleninVolumes).
Ja, perfekte Idee. :thumbsup: Aber wie setze ich das um? Wie prüfe ich die Existenz eines Ordners? Tipps?
 
Code:
if [ -d "/Volumes/BACKUPHD/Backups" ]; then
     echo "Ja, mach weiter..."
     Ab hier weisst Du, was Du zu tun hast!
else
     echo "Nein, ich habe Kopfschmerzen."
fi
 
  • Gefällt mir
Reaktionen: mann-aus-wurst
Das ist zu gut! Vielen, vielen Dank.
 
Zurück
Oben Unten