Zum Inhalt springen

Mac-OS-Kompendium/ Unter der Haube von Mac OS X: UNIX/ Dateisystem

Aus Wikibooks

Einleitung

[Bearbeiten]

Backups

[Bearbeiten]

rsync

[Bearbeiten]

Mit dem Befehl rsync lässt sich ein einfaches Backup-Skript erstellen. Wird es aufgerufen, lassen sich Dateien von einem Ordner in einen anderen Ordner (z. B. einer externen Festplatte oder der iDisk) „backupen“.

Beim ersten Aufruf werden alle Ordner und Dateien in den Zielordner kopiert. Bei jeden erneuten Aufruf „merkt“ rsync, welche Dateien sich geändert haben, und kopiert nur diese in den Zielordner. Falls das Backup auf eine externe Festplatte, einen USB-Stick oder die iDisk erfolgen soll, müssen diese vor dem Aufruf an den Mac angeschlossen („gemountet“) werden.

Starte das Programm Terminal. Um das Skript zu erstellen, müssen wir einen Editor aufrufen. Ein möglicher Editor ist vim. Wir starten vim, indem wir in die Befehlszeile vim und den Namen des neuen Skripts eintippen. Soll das Skript MeinBackup.sh heißen, erfolgt der Aufruf per

vim MeinBackup.sh

So gelangen wir in die Editoransicht. Durch Drücken der Taste i gelangen wir in den „Insert“-Modus von vim. Erst jetzt können wir unseren Code eingeben:

#!/bin/sh
export LOG=/Users/USERNAME/Library/Logs/MeinBackup.log
echo `date` > $LOG
echo "Starte Backup..." >> $LOG
rsync -a -E -4 -u --exclude=.DS_Store --exclude=.TemporaryItems --exclude=.VolumeIcon.icns --stats --progress /Users/USERNAME/Documents/ /Volumes/ZIELPLATTE/ >> $LOG
echo "Backup beendet." >> $LOG
echo `date` >> $LOG
exit 0

Beachte, dass USERNAME durch deinen Benutzernamen im OS-X-System zu ersetzten ist, und ZIELPLATTE durch den Namen der Festplatte, auf welcher das Backup erfolgen soll. Möchtest du beispielsweise auf die iDisk speichern, muss ZIELPLATTE durch iDisk ersetzt werden.

Das Skript sorgt dafür, dass alle Dateien aus deinem „Dokumente“-Ordner auf das Zielvolume übertragen werden. Durch das Argument --exclude werden bestimmte Dateien ausgeschlossen (in unserem Beispiel .DS_Store, .TemporaryItems und .VolumeIcon.icns). Diese Liste kannst du beliebig erweitern.

Wir beenden nun den „Insert“-Modus von vim durch Drücken der esc-Taste. Durch Drücken der :-Taste können wir jetzt Befehle an vim übertragen. Die Eingabe w + q + RETURN speichert das Skript und beendet vim. Jetzt müssen wir dem System sagen, dass MeinBackup.sh ein Skript ist, welches ausgeführt werden darf. Dies erfolgt per Eingabe

chmod +x MeinBackup.sh

Jetzt kann das Skript aufgerufen werden durch die Eingabe:

./MeinBackup.sh

Das Skript führt nun das Backup durch und legt eine Logdatei an, in welcher alle Schritte gespeichert sind. Die Logdatei liegt im Ordner /Users/USERNAME/Library/Logs/ und heißt MeinBackup.log.

Den Vorgang kann man sich in einem zusätzlichen Terminal-Fenster anzeigen lassen. Dort gibt man ein:

tail -f /Users/USERNAME/Library/Logs/MeinBackup.log

Das Skript lässt sich auch aus dem Finder starten. Öffne ein Finder-Fenster und wechsle in deinen Benutzerordner (der mit dem Haus-Symbol). Dort liegt die Skriptdatei MeinBackup.sh. Markiere die Datei und drücke APFEL + i. Unter dem Reiter „Öffnen mit:“ kannst du nun Terminal auswählen. Jetzt kann das Skript per Doppelklick aus dem Finder gestartet werden.

Suchen

[Bearbeiten]

Auf der UNIX-Oberfläche stehen 3 Funktionen zum Suchen zur Verfügung:

  1. find
  2. locate
  3. mdfind

Die Funktion find...

locate

[Bearbeiten]

Die Funktion locate nutzt eine eigene Datenbank zum Durchsuchen. Ist diese noch nicht angelegt, kann eine Erstellung per

sudo /usr/libexec/locate.updatedb

erzwungen werden. Durch sudo wird die Funktion mit Administrationsrechten aufgerufen, so dass du ein Administratorpasswort eingeben musst, bevor der Befehl ausgeführt wird.

mdfind

[Bearbeiten]

Die Funktion mdfind benutzt die Spotlight-Suchfunktion. Der Aufruf erfolgt per

mdfind [OPTION] SUCHBEGRIFF

So durchsucht der Befehl

mdfind Rechnung

die gesamte Festplatte nach Dateien und Ordnern, in denen der Suchbegriff „Rechnung“ enthalten ist.

Literatur

[Bearbeiten]