Poldibert
Aktives Mitglied
Thread Starter
- Dabei seit
- 14.05.2005
- Beiträge
- 184
- Reaktionspunkte
- 0
Moin,
seitdem ich mir eine externe Festplatte zugelegt habe, kamen die Überlegungen wie meine Daten am besten organisiere. Einige große Dateien habe ich jetzt auf die externe Platte ausgelagert. Um immer informiert zu sein, was da noch im Archiv schlummert, habe ich mir jetzt ein Bash-Skript geschrieben, das immer aktuelle symbolische Links erzeugt.
Man kann sich das so vorstellen: Ich habe aus meinem Ordner "Filme" auf der lokalen HD einige Dateien auf die Externe verschoben, zum Beispiel folgende:
Diese Dateien liegen jetzt auf:
Um die übersichtliche Verzeichnisstruktur auf meiner internen Platte zu übernehmen und bei angeschlossener Platte direkten Zugriff darauf zu haben rufe ich mein Skript auf (in einer neuen Datei abspeichern, sagen wir unter 'makelinks' und im Terminal mit
ausführbar machen):
Hier also 'makelinks':
Die beiden Variablen $INT_PFAD und $EXT_PFAD müssen dabei natürlich an die gewünschten Stellen zeigen. Jetzt habe ich die komplette Verzeichnisstruktur von /Volumes/meineEXT-HD/Movies übernommen und wenn die Platte angestöpselt ist, kann ich direkt in meinem Filme-Ordner darauf zugreifen.
Ich hoffe mein Skript findet bei dem ein oder anderen gefallen, allerdings erfolgt die Benutzung auf eigene Gefahr.
Viele Grüße,
Poldibert
seitdem ich mir eine externe Festplatte zugelegt habe, kamen die Überlegungen wie meine Daten am besten organisiere. Einige große Dateien habe ich jetzt auf die externe Platte ausgelagert. Um immer informiert zu sein, was da noch im Archiv schlummert, habe ich mir jetzt ein Bash-Skript geschrieben, das immer aktuelle symbolische Links erzeugt.
Man kann sich das so vorstellen: Ich habe aus meinem Ordner "Filme" auf der lokalen HD einige Dateien auf die Externe verschoben, zum Beispiel folgende:
/Users/ich/Movies/Serien/Wetten Dass - Folge 1.avi
/Users/ich/Movies/Serien/Wetten Dass - Folge 2.avi
/Users/ich/Movies/Serien/Wetten Dass - Folge 3.avi
/Users/ich/Movies/meine Geburtstagsfeier.avi
Diese Dateien liegen jetzt auf:
/Volumes/meineEXT-HD/Movies/Serien/Wetten Dass - Folge 1.avi
/Volumes/meineEXT-HD/Movies/Serien/Wetten Dass - Folge 2.avi
/Volumes/meineEXT-HD/Movies/Serien/Wetten Dass - Folge 3.avi
/Volumes/meineEXT-HD/Movies/meine Geburtstagsfeier.avi
Um die übersichtliche Verzeichnisstruktur auf meiner internen Platte zu übernehmen und bei angeschlossener Platte direkten Zugriff darauf zu haben rufe ich mein Skript auf (in einer neuen Datei abspeichern, sagen wir unter 'makelinks' und im Terminal mit
Code:
chmod +x makelinks
Hier also 'makelinks':
Code:
#!/bin/bash
EXT_PFAD="/Volumes/meineEXT-HD/Movies"
INT_PFAD="/Users/ich/Movies/extern"
# erstmal das interne Link-Verzeichnis löschen (falls vorhanden)
if [ -e "$INT_PFAD" ]
then
rm -R "$INT_PFAD"
fi
# das Link-Verzeichnis neu erstellen
mkdir "$INT_PFAD"
# auf die externe Festplatte wechseln
cd "$EXT_PFAD"
# Verzeichnisstruktur übernehmen
find * -type d |while read d
do
mkdir "$INT_PFAD"\/"$d"
done
# symbolische Links erzeugen
find * -type f |while read f
do
ln -s "$EXT_PFAD"\/"$f" "$INT_PFAD"\/"$f"
done
Die beiden Variablen $INT_PFAD und $EXT_PFAD müssen dabei natürlich an die gewünschten Stellen zeigen. Jetzt habe ich die komplette Verzeichnisstruktur von /Volumes/meineEXT-HD/Movies übernommen und wenn die Platte angestöpselt ist, kann ich direkt in meinem Filme-Ordner darauf zugreifen.
Ich hoffe mein Skript findet bei dem ein oder anderen gefallen, allerdings erfolgt die Benutzung auf eigene Gefahr.
Viele Grüße,
Poldibert