Habe noch was vergessen... Am 2004-09-09 12:20:51, schrieb Michelle Konzack: Du willst ja sicher das Script stoppen, wenn Du Brennst... Das mache ich mit einem 'touch $HOME/.symlinker/nosymlink' Danach die datei einfach wieder löschen. Desweiteren, kannste probleme bekommen, wenn das script längere Zeit nicht in betrieb war und mit der laufzeit ÜBER die 10 Minuten hinauskommt. Deswegen mit ner PID arbeiten... ____ ( '/home/michelle/bin/symlinker' ) ______________________________ / | #!/bin/bash | | DOWNLOAD_VERZEICHNIS=/home/autodownloader/downloads | BRENNER_VERZEICHNIS=/home/orlando/brennerdir | CACHE_DATEI=$HOME/.symlinker/brennercache | | if [ ! -d $HOME/.symlinker ] ; then mkdir $HOME/.symlinker ; fi | | # Script nur ausführen, wenn die Datei nicht da ist | if [ ! -f $HOME/.symlinker/nosymlink ] | | PID=$$ | if [ ! -f $HOME/.symlinker/symlinker.pid ] ; then | if [ `find $HOME/.symlinker/ -name symlinker.pid -cmin 30 ` ] ; then | ps -e |grep `cat $HOME/.symlinker/symlinker.pid` >/dev/null 2>&1 | if [ $? == "1" ] ; then | rm $HOME/.symlinker/symlinker.pid | echo $PID > $HOME/.symlinker/symlinker.pid | fi | else | exit 0 | fi | else | echo $PID > $HOME/.symlinker/symlinker.pid | fi | | # Dateien suchen, die nicht älter als 30 minuten sind | for DATEI in `find $DOWNLOAD_VERZEICHNIS -type f -cmin -30` ; do | | # überprüfen ob $DATEI leer ist und beenden | if [ "$DATEI" == "" ] ; then exit 0 ; fi | | # Die md5 Summe erstellen | MD5=`md5sum $DATEI` | | # Wir wollen nur die md5sum ohne Dateinamen haben | SUM=`echo $MD5 |cut -f1 -d" "` | | # Überprüfen, ob die Datei im Cache ist | grep "$SUM" $CACHE_DATEI /dev/null 2>&1 | | # Ermitteln des Exit-Statuses | ES=$? | if [ ! $ES ] ; then | # Wenn der Exit-Status nit wahr ist, stripen wir das download | # Verzeicnis vom dem Ergebnis von 'find' | MKD=`echo $DATEI |sed s,$DOWNLOAD_VERZEICHNIS/,,` | | # Hier erstellen wir das verzeichnis zum Symlink | mkdirhier $BRENNER_VERZEICHNIS/$MKD | | # Nun wird der symlink angelgt | ln -s $DATEI $BRENNER_VERZEICHNIS/$MKD | | # Gleichzeitig speichern wie die gesymlikte Datei im Cache ab | echo "$MD5" >CACHE_DATEI | fi | done | fi | rm $HOME/.symlinker/symlinker.pid | \_______________________________________________________________________ Greetings Michelle -- Linux-User #280138 with the Linux Counter, http://counter.li.org/ Michelle Konzack Apt. 917 ICQ #328449886 50, rue de Soultz MSM LinuxMichi 0033/3/88452356 67100 Strasbourg/France IRC #Debian (irc.icq.com)
Attachment:
signature.pgp
Description: Digital signature