[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Samba automatisch link anlegen



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


Reply to: