Hallo...
Ich habe das script getestet und mir ist aufgefallen, das die Softlinks alle falschgelegt werden. Sie beziehen sich auf eine relative Position der Links zu den Quelldaten. So verweisst der Link von "/backup/test/test1/ionentest004/041210ionenlauf.txt" im verzeichniss "/tmp/link" nach "/test./test1/ionentest004/041210ionenlauf.txt"
Ich habe das Script ein wenig umgebogen:
Code:
rm -r /tmp/links/*
rm /backup/test.
IFS="
"
LINKDIR=/tmp/links
FILEDIR=/backup/test/
cd $FILEDIR
find -type f | while read f; do
LB=$(echo $(dirname $f) | sed "s#.*/##")
for LN in $(seq -w 1 999); do
if [ ! -h $LINKDIR/$LB/${LB}_${LN}.txt ] ; then
break
fi
done
mkdirhier $LINKDIR/$LB
ln -s $FILEDIR$f $LINKDIR/$LB/${LB}_${LN}.txt
done
ln -s /backup/test /backup/test.
Da ich oefters getestet habe, hab ich zuerst alte links weg und das Verzeichniss /backup/test. geloescht. Sonst alles wie gehabt bis hier:
ln -s $FILEDIR$f $LINKDIR/$LB/${LB}_${LN}.txt
Vor der eingabevariable $f ist noch das Filedir vorgehaengt, dadurch wird die Quelldatei nicht bei "/test./test1/ionentest004/041210ionenlauf.txt" gesucht sondern in "/backup/test./test1/ionentest004/041210ionenlauf.txt" . Durch
ln -s /backup/test /backup/test.
erzeuge ich dann noch einen link /backup/test. So werden die Quelldateien auch gefunden.
Soweit funktioniert das script wunderbar. Ich hab damit vorhin in ca. 11min 16.200 Dateien mit Softlinks versehen. Das mit den Verzeichnissen und numerische Folge funktioniert wunderbar.
Das einzige was stoert ist der letzte Softlink um /backup/test. zu erzeugen. Das macht das ganze etwas "unsauber".
Aber endlich blicke ich bei den Daten mal wieder durch Danke dir bisher
Lesezeichen