uStor01 und uStor11 festlegen

Since the author don't has time to push the developement I would say no.

Regards
Oliver
 
Ich habe an meiner FritzBOX 7270 mit FREETZ 1.03 einen USB-Hub und 4 USB Sticks (aeltere, die ich sonst nicht mehr verwende), insgesamt 16 GB.
Nervent ist nur, dass wie hier schon mehrfach beschrieben, nach einem Restart der Box (mit grosser Regelmaessigkeit) die Zuordnung der "uStorXY" zu den USB-Sticks sich ändert.

Also habe ich mir ein kleines shell-script einfallen lassen, das mir die Sticks mit neuen Namen, die aber fest einem Stick zugeordnet sind, anlegt.
Es werden "symlinks" auf die "uStorXY" erzeugt.

Code:
##############################################################
##############################################################
### Michael Fuchs 11.04.2009 #################################
### Michael Fuchs 15.06.2009 #################################
##############################################################
##############################################################
mkdir -p /var/dtmfbox/tmp/
##############################################################
MyUSBlink() {
   echo MyUSBlink :: `date` :: START
   USB_Alle_Namen="EINS ZWEI DREI VIER FUENF SECHS SIEBEN ACHT NEUN"
   USB_Freie_Namen="$USB_Alle_Namen"
   uStorXY=
   USBF="USB.NAME"
   FTP="/var/media/ftp"
   MEDIA="/var/media"
#  Warteschleife
   XX=5
   while [ $XX -gt 0 ]; do
      [ -e /var/media/devmap ] && break
      echo MyUSBlink :: `date` :: ... warte
      sleep 30
      XX=$((XX-1))
   done 
#  existierende BENENNEN und NEUE merken
   echo MyUSBlink :: `date` :: 1.Schritt
   uStorXY=
   USB1=
   ###auf CD geändert MF:20090615:1605
   cd $FTP
   for XX in uStor*; do
      # Wenn Datei ex., dann Inhalt holen, 
      # ansonsten bleibt Variable LEER
      USB="`cat $FTP/$XX/$USBF`"
      # VAR bzw. Datei nicht LEER
      if [ -n "$USB" ]; then
         # falls notwendig VERZEICHNIS anlegen
         [ ! -d $MEDIA/$USB ] && mkdir $MEDIA/$USB
         # und MOUNT-Befehl
         mount --bind $FTP/$XX $MEDIA/$USB
         echo MyUSBlink :: `date` :: "Symlink $FTP/$XX an $MEDIA/$USB"
         # diverse Flags setzen
         touch $MEDIA/$USB/$USB
         # USB_Alle_Namen um verwendete Dir-Namen kürzen
         USB1=
         for YY in $USB_Freie_Namen; do
            [ "$USB" != "$YY" ] && USB1="$USB1 $YY"
         done
         USB_Freie_Namen="$USB1"
      else
         # die DATEI war LEER u/o. hat nicht existiert
         # ... den uStorXY merken
         uStorXY="$uStorXY $XX"
      fi
   done
#  NEUE anlegen und BENENNEN
   echo MyUSBlink :: `date` :: 2.Schritt
   for XX in $uStorXY; do
      USB=
      USB1=
      for YY in $USB_Freie_Namen; do
         # beim 1.mal ist USB LEER
         if [ -z "$USB" ]; then
            # den 1. Namen aus LISTE vergeben
            USB="$YY"     
         else
            # alle anderen wieder in FREI merken
            USB1="$USB1 $YY"
         fi
      done
      # und zurückschreiben
      USB_Freie_Namen="$USB1"
      # ggf. DIR anlegen
      [ ! -d $MEDIA/$USB ] && mkdir $MEDIA/$USB
      # ... und MOUNTEN
      mount --bind $FTP/$XX $MEDIA/$USB
      echo MyUSBlink :: `date` :: "Symlink $FTP/$XX an $MEDIA/$USB"
      # ... und diverse FLAGS setzen
      touch $MEDIA/$USB/$USB
      echo $USB >$MEDIA/$USB/$USBF
      echo MyUSBlink :: `date` :: "schreibe $USB nach $MEDIA/$USB/$USBF"
   done
   echo MyUSBlink :: `date` :: "USB_Alle_Namen=$USB_Alle_Namen"
   echo MyUSBlink :: `date` :: "USB_Freie_Namen=$USB_Freie_Namen"
#  ggf. SAMBA anwerfen
   echo MyUSBlink :: `date` :: ggf. SAMBA starten
   /etc/init.d/rc.samba load
#  und ENDE
   echo MyUSBlink :: `date` :: FERTIG
}
#...
MyUSBlink &
#...
##############################################################
##############################################################
##############################################################

Im FREETZ WebIF sind man dann unter "Status.Logdateien" was das Script gemacht hat:

MyUSBlink :: Sat Jan 1 01:01:15 CET 2000 :: START
MyUSBlink :: Sat Jan 1 01:01:15 CET 2000 :: 1.Schritt
MyUSBlink :: Sat Jan 1 01:01:15 CET 2000 :: Symlink /var/media/ftp/uStor01 an /var/media/ftp/LENNY
MyUSBlink :: Sat Jan 1 01:01:16 CET 2000 :: Symlink /var/media/ftp/uStor11 an /var/media/ftp/VIER
MyUSBlink :: Sat Jan 1 01:01:16 CET 2000 :: Symlink /var/media/ftp/uStor21 an /var/media/ftp/EINS
MyUSBlink :: Sat Jan 1 01:01:16 CET 2000 :: Symlink /var/media/ftp/uStor31 an /var/media/ftp/DREI
MyUSBlink :: Sat Jan 1 01:01:16 CET 2000 :: 2.Schritt
MyUSBlink :: Sat Jan 1 01:01:16 CET 2000 :: FERTIG

Das Script sucht im Wurzelverzeichnis von jedem Stick eine Datei namens "USB.NAME", wenn die da ist nimmt es den Inhalt für den Linknamen, wenn die nicht da ist, legt das Script sie an und vergibt den nächsten freien Namen der (in der momentanen Konfiguration) nicht genutzt wird!
Diese Default Namen sind "EINS ZWEI ... ACHT NEUN"; na gut nicht sehr creativ, aber hinreichend!!!
Natürlich kann man manuell einen anderen Namen in die jeweilige "USB.NAME" schreiben.


:DFROHE OSTERN:D
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.