Hilfe beim einfachen Script

Status
Für weitere Antworten geschlossen.

MoCo

Benutzer
Mitglied seit
21. Mai 2012
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Hallo

ich benötige Hilfe für ein Script welches ich Automatisch laufen lassen möchte.

Folgende möchte ich erreichen:
Ich bekommen in einen Ordner /volume1/KG viele Dateien am Tag und möchte diese sortieren in Ordnern.

Also die Logik

- liest das Erstellungsdatum der Datei aus und erstellt ein Ordner mit dem Namen des Erstellungsdatums wenn er noch nicht vorhanden ist Bsp. 20150115.
- Scheidet die Dateien aus und verschiebt sie in dem Datumsordner
- Als letztes möchte ich das alle Ordner die älter als 200 Tage sind gelöscht werden

Wie kann ich das lösen
 

Robonatoi

Benutzer
Mitglied seit
21. Jan 2015
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
für die ersten beiden Punkte würde ich folgendes machen:
Rich (BBCode):
#!/bin/bash

FOLDER="/volume1/KG"
cd $FOLDER
for FILE in $(ls); do
	if [ -f "${FILE}" ]; then
		TIME=$(stat -c %y $FILE)
		DATE=${TIME:0:10}
		mkdir -p $DATE
		mv $FILE $DATE
	fi
done
echo 'finished'

"state -c %y" zeigt hier das Datum der letzten Änderung an. Eig wäre "%w" der richtige Parameter, aber ich glaube dein NAS wird nicht die "birth time" speichern. (und ich weiß auch nicht ob/wie man das einstellt)
bei den letzten Punkt weiß ich noch nicht genau, irgendwas mit
Rich (BBCode):
find $FOLDER -mtime +200 -delete
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.694
Punkte für Reaktionen
2.104
Punkte
829
Nur ein kleiner Hinweis: Wenn das Skript auf einer DS laufen soll, dann bitte daran denken, dass dort eine ash im Rahmen der busybox die Standard-Shell ist. x86-DS haben auch eine bash an Board, kleinere Geräte nur, wenn man sie über ipkg installiert. Das Skript von Robonatoi enthält meinem Eindruck nach keine bash-Spezifika, aber der Shebang müsste ersetzt werden -> #!/bin/sh.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat