bash oder ash Hilfe gesucht

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

MaTriX

Benutzer
Registriert
23. Dez. 2008
Beiträge
51
Reaktionspunkte
0
Punkte
0
Ich mal wieder mit einen Scripts =)

Hab momentan folgendes vor:

Habe einige Ordner mit Musik sowie anderen Inhalten ;)

Nun möchte ich ein Script schreiben welches regelmäßig die eingegebenen Ordner ausließt (Order und/oder Dateien) und nach dem Erstellungsdatum oder einem anderen sinnvollen Datum schaut und wenn dieser größer ist als die eingestellte Deadtime, soll es gelöscht werden.

Ich denke es ist ganz simpel, ich als Anfänger hab da aber meine Probleme, oder anders gesagt, ich habe noch keine gescheiten Quellen dazu gefunden.

Über eine Unterstützung würd ich mich freuen.
 
z.B.
Code:
find /volume1/ -amin +10
listet alle files unter /volume1 auf, bei denen der letzte Zugriff mehr als 10min her ist. Im Manual (http://linux.about.com/od/commands/l/blcmdl1_find.htm) findest du weitere Optionen. Allerdings kann es sein, dass das default find, das mit der Firmware geliefert wird, nicht alle Optionen bietet. Obiges funzt sicher mit der ipkg Version von find
find bietet auch die Möglichkeit mittels -exec einen Befehl pro Fund auzuführen (z.B. rm)
 
oh cool,

werd ich gleich mal testen
 
z.B.
Code:
[FONT=monospace]
[/FONT]find /volume1/test -amin +10 -exec rm {} \;
Wichtig test darf erstmal nur unwichtiges enthalten. Lass das erst auf ein Verzeichnis mit wichtigen Daten los, wenn du sicher bist, dass du nix löscht was du noch brauchst. Es wäre katastrophal diesen Befehl auf / anzuwenden
 
jo klar =)

Hab ein Test Dir mit daten und Ordnen.

Ich sehe da nur ein Problem, -admin geht nicht

Rich (BBCode):
BusyBox v1.1.0 (2010.01.23-20:28+0000) multi-call binary

Usage: find [PATH...] [EXPRESSION]

aber -mtime würde gehen, jedoch ist da das problem das der mir nur genau den zeitpunkt auspuckt.
Rich (BBCode):
-mtime n
    File's data was last modified n*24 hours ago.

heisst für ihn, wenn die datei vor 10 Tage erstellt war, diese nicht bei der eingabe von 11 sichtbar ist.

Entweder ich müsste das Script jeden Tag ausführen um zu sagen: alle vor 30 Tagen, oder eine Spanne müsste man eingeben können.
 
Ich habe oben geschrieben, dass es mit dem default find nicht klappen könnte. Dem scheint so zu sein. Installier dir ipkg und hol dir das entsprechende Paket (ipkg install findutils). Mehr zur Installation und den Voraussetzungen für ipkg findest du in unserem Wiki
 
thx,

ipkg ist mir bekannt ;) werde es gleich mal angehen

Edit:

hab es mal installiert und weiter getestet

Rich (BBCode):
for file in $(find /volume1/test -maxdepth 1 -mtime +20);
do
 rm -r $file
done

Scheint zu funktionieren, der spuckt mir jetzt nur die aus die älter als 20 Tage sind und auch nur den Ordner und nicht den Inhalt.
Werde es nun mal weiter testen...
 
Zuletzt bearbeitet:
hey itari ;)

Ich weiss, hab ich auch probiert, habe mich nur vertippt im Post.

Lag aber vieleicht am +n bzw. -n.

Das letzte Script im Post funktioniert bei mir aber.

Dann aber halt mit mtime um dies in Tagen auszudrücken.
 
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