Page 1 of 1
Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?
Posted: 2007-04-13 19:05
by fulltilt
Ich habe hier auf einem Server eine Online Auktion laufen ...
Seit ca. 3 Jahren haben sich einige GB an alten Artikelbildern angehäuft.
Ich habe nun über ein Script Udate seit 1 Jahr die Möglichkeit alte Bilder automatisch zu löschen. Es bleiben aber immer noch ca. 9 GB die nur Balast sind und auch das Systembackup in die Knie zwingen ...
Gibt es eine Möglichkeit die Dateien eines Ordners ab einem bestimten datum zu löschen?
> /ordner/dateien.img älter als 1 jahr löschen
Re: Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?
Posted: 2007-04-13 19:31
by flo
fulltilt wrote:Gibt es eine Möglichkeit die Dateien eines Ordners ab einem bestimten datum zu löschen?
nicht eher bis zu einem bestimmten Datum?
fulltilt wrote:> /ordner/dateien.img älter als 1 jahr löschen
z.B.:
Re: Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?
Posted: 2007-04-13 19:38
by fulltilt
Danke :-)
wäre es so machbar z.B.:
Code: Select all
find /var/www/htdocs/ordner -type f -name '*.jpg' -ctime +365 -print0 | xargs -r -0 rm
Re: Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?
Posted: 2007-04-13 20:54
by flo
Nimm die "-exec"-Variante - rm beschwert sich auch gerne über zu lange Parameterlisten.
Re: Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?
Posted: 2007-04-14 13:37
by oxygen
xargs handhabt das schon
Re: Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?
Posted: 2007-04-14 13:44
by fulltilt
Danke :-)
Habe leider keinen Erfolg damit - sind zuviele Dateien > 18602 St. (.jpg & .img).
Der Befehl wird einfach ignoriert ....
Gibt es noch eine andere Möglichkeit bei so vielen Dateien?
flo wrote:Nimm die "-exec"-Variante - rm beschwert sich auch gerne über zu lange Parameterlisten.
Re: Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?
Posted: 2007-04-14 14:18
by oxygen
Mit der Anzahl der Dateien hat es nicht zu tun, z.B.
# seq 1 100000 | xargs touch
# ls -l | wc -l
100001
# find . -type f -print0 | xargs -0 rm
# ls -l | wc -l
1
Wahrscheinlich ist -ctime nicht was du suchst. Ich würde eher -mtime probieren. Du kannst/solltest vorher die Ausgabe von find überprüfen, eh du rm drauf los lässt.
Re: Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?
Posted: 2007-04-14 14:21
by lord_pinhead
Bei mir läuft das mit xargs aber durch. Was für eine Ausgabe kommt da?
Code: Select all
intranet:~/test# ls -la | wc -l
18093
intranet:~/test# find . -iname *.jpg | xargs rm
intranet:~/test# ls -la | wc -l
4
intranet:~/test# ls -la
insgesamt 436
drwxr-xr-x 2 root root 434176 14. Apr 14:20 ./
drwxr-xr-x 8 root root 4096 14. Apr 14:13 ../
-rwxr-xr-x 1 root root 97 14. Apr 14:18 test.sh*
Edit: Oxygen hatte die selbe idee *G*
Re: Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?
Posted: 2007-04-14 14:26
by fulltilt
Hm - ich bekomme überhaupt keine Ausgabe ...
Lord_Pinhead wrote:Bei mir läuft das mit xargs aber durch. Was für eine Ausgabe kommt da?
Code: Select all
intranet:~/test# ls -la | wc -l
18093
intranet:~/test# find . -iname *.jpg | xargs rm
intranet:~/test# ls -la | wc -l
4
intranet:~/test# ls -la
insgesamt 436
drwxr-xr-x 2 root root 434176 14. Apr 14:20 ./
drwxr-xr-x 8 root root 4096 14. Apr 14:13 ../
-rwxr-xr-x 1 root root 97 14. Apr 14:18 test.sh*
Edit: Oxygen hatte die selbe idee *G*
Re: Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?
Posted: 2007-04-14 14:32
by fulltilt
mit:
Code: Select all
find . -iname *.jpg -mtime +365 -print0 | xargs ls -l
listet er mir jetzt alles von 2007 auf ...
wie müsste das aussehen um alles vor 2007 bzw. älter als 2006 zu löschen?
fulltilt wrote:Hm - ich bekomme überhaupt keine Ausgabe ...
Lord_Pinhead wrote:Bei mir läuft das mit xargs aber durch. Was für eine Ausgabe kommt da?
Code: Select all
intranet:~/test# ls -la | wc -l
18093
intranet:~/test# find . -iname *.jpg | xargs rm
intranet:~/test# ls -la | wc -l
4
intranet:~/test# ls -la
insgesamt 436
drwxr-xr-x 2 root root 434176 14. Apr 14:20 ./
drwxr-xr-x 8 root root 4096 14. Apr 14:13 ../
-rwxr-xr-x 1 root root 97 14. Apr 14:18 test.sh*
Edit: Oxygen hatte die selbe idee *G*
Re: Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?
Posted: 2007-04-18 09:29
by Joe User
Syntax beachten, dann klappt es auch:
Code: Select all
find /var/www/htdocs/ordner/ -type f -name *.jpg -mtime +365 -print0 | xargs -0 rm -f