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

Re: Samba automatisch link anlegen



Am 2004-09-09 10:38:03, schrieb Orlando Rose:
> X-Bebitz MailScanner-MailScanner-Information: Please contact the ISP for more information
> X-Bebitz MailScanner-MailScanner: virenfrei
> 
> Am Do, den 09.09.2004 schrieb Björn Schmidt um 10:09:
> > Diese Nachricht enthält Zeichen, die vom Internet Mail-Dienst nicht
> > unterstützt werden. Zum Lesen doppelklicken Sie auf die beigefügte Anlage.
> > Falls der Text inkorrekt angezeigt wird, speichern Sie die Anlage (Datei,
> > Speichern unter) auf der Festplatte und öffnen Sie sie mit einem Programm,
> > das die Zeichen darstellen kann. 
> 
> ich glaube ich habe ne lösung.
> 
> cp -al
> 
> jetzt fehlt nur noch 1.
> irgendwie muss ich nur dateien kopieren, die noch nicht kopiert wurden,

Das ist ja wohl kein problem...

> und das auch wenn die links schon gelöscht sind.

Da mußte dir eine "Cache Datei" anlegen. die alle Dateien 
beinhaltet, die schon mal kopiert wurden...

> es ist also kein vergleich mit dem ziel möglich.

s.o. 

Aber Da solltest Du das Script schon ganz gut planen, denn ich weis 
nicht, wieviele Dateien Du im Direktory hast und wenn sehr viele 
werden kann es doch gewisse probleme geben... 

Ich würde einfach pro Monat eine "cache-YYYY-MM" anlegen und 
mit 'find' herausfinden ob die datei älter ist oder nicht. 

Die kannst die Dateien als md5-hashs abspeichern...
Wenn 'find' eine neue Datei findet, errechnest Du die md5sums
und suchst sie mit

Das unten genannte Script alle 10 Minuten als cronjob mit 

*/10 * * * * orlando /home/orlando/bin/symlinker

ausführen...

  ____ ( '/home/michelle/bin/symlinker' ) ______________________________
 /
|  #!/bin/bash
|  
|  DOWNLOAD_VERZEICHNIS=/home/autodownloader/downloads
|  BRENNER_VERZEICHNIS=/home/orlando/brennerdir
|  CACHE_DATEI=/home/orlando/.brennercache
|  
|  # 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
\_______________________________________________________________________


Denke nicht, das es einen andere Lösung gibt.

> mfg
> orlando


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: