Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
DateiDatum ermitteln, DatumsVerzeichnis erstellen und reinkopieren/-verschieben

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Laie
Gast





BeitragVerfasst am: 02. Okt 2008 19:30   Titel: DateiDatum ermitteln, DatumsVerzeichnis erstellen und reinkopieren/-verschieben

Hallo an alle,

ich selbst habe zwar schon mit Linux(Ubuntu & vor etlichen Jahren mal Suse) "rumgespielt", bin aber über die Standards noch nicht hinaus gekommen...

jetzt stehe ich wegen meinem Studium vor einem kleineren Problem... ich muss im rahmen eines WebPraxisprojekts ein Bildverzeichnis aufräumen und effizienter machen... da sind momentan 200k JPGs drin.

So, ich habe mir gedacht da jeden Tag etwa ~500-1000 Bilder dazu kommen verteile ich das ganze nach Datum und Uhrzeit.

Was ich also brauche ist eine Shellfunktion die das Datum der vorhandenen Dateien ausliest mit dem Datum ein Verzeichnis erstellt... und in der nächsten Ebene die Dateien in ein Verzeichnis der STUNDE reinkopiert.

also mal bildlich
bild1.jpg eintragsdatum 02.10.2008 Uhrzeit 22:33
bild2.jpg eintragsdatum 02.10.2008 Uhrzeit 21:12
bild3.jpg eintragsdatum 01.10.2008 Uhrzeit 8:12

bild1 soll in Ordner /02102008/22/
bild2 soll in Ordner /02102008/21/
bild3 soll in Ordner /01102008/08/

mit PHP bekomme ich das leider nicht hin, wegen dem Timeout des Webservers… deshalb muss es über die Shell sein.

Ansonsten falls das nicht so einfach gehen sollte, hättet ihr eine Idee wie man 200.000 Dateien am besten in eine Struktur packt? oder generell wie man am besten große Dateimengen effizient organisiert, so das Linux performancemässig besser mit klar kommt?


Gruss & Danke

Benjamin
 

Janka



Anmeldungsdatum: 11.02.2006
Beiträge: 3569

BeitragVerfasst am: 02. Okt 2008 20:38   Titel:

Die Shell wird per CGI genau dasselbe Timeoutproblem haben. Wenn du keinen echten Shellzugriff hast, musst du die Arbeit halt in mehreren Stücken machen.

Bei echtem Shellzugriff kannst du natürlich den PHP-Interpreter auch direkt daraus starten, wenn dir diese Sprache eher liegt.

Janka
_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
 
Benutzer-Profile anzeigen Private Nachricht senden

Laie
Gast





BeitragVerfasst am: 03. Okt 2008 1:19   Titel: danke

Ok, danke das geht sogar, wusste ich nicht Smile

vielleicht noch nen alternativen tip wie ich die dateien organisieren könnte? weil im cache-ordner hätte ich auch noch einiges an dateien, thumbnails und so.

per google finde ich leider keine guten links, wie ein guter dateibaum für cachefiles aussehen könnte.
 

Janka



Anmeldungsdatum: 11.02.2006
Beiträge: 3569

BeitragVerfasst am: 03. Okt 2008 22:59   Titel:

Dein Wunsch erfordert etwas mehr Spucke. Fang mit sowas an:
Code:

for FILE in *
do
  DATETIME=$(stat -c%z $FILE)
  DATE=$(cut -d\  -f1 <<<$DATETIME)
  HOUR=$(cut -d\  -f2 <<<$DATETIME |cut -d: -f1)

  mkdir -p $DATE/$HOUR
  mv $FILE $DATE/$HOUR
done

Wichtig: Anzahl der Leerzeichen hinter -d\ beachten!

Janka
_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.
 
Benutzer-Profile anzeigen Private Nachricht senden

Laie
Gast





BeitragVerfasst am: 06. Okt 2008 11:18   Titel: .

Ok, vielen dank, hat geklappt Smile

Gruss
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy