Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?

Backup, Restore und Transfer von Daten
fulltilt
Posts: 366
Joined: 2006-08-27 02:06
 

Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?

Post 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
flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin
 

Re: Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?

Post 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

Code: Select all

man find
z.B.:

Code: Select all

find / -mtime +7 -exec rm -v {} ;
fulltilt
Posts: 366
Joined: 2006-08-27 02:06
 

Re: Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?

Post 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
flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin
 

Re: Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?

Post by flo »

Nimm die "-exec"-Variante - rm beschwert sich auch gerne über zu lange Parameterlisten.
oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim
 

Re: Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?

Post by oxygen »

xargs handhabt das schon
fulltilt
Posts: 366
Joined: 2006-08-27 02:06
 

Re: Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?

Post 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.
oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim
 

Re: Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?

Post 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.
lord_pinhead
Posts: 774
Joined: 2004-04-26 15:57
 

Re: Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?

Post 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*
fulltilt
Posts: 366
Joined: 2006-08-27 02:06
 

Re: Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?

Post 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*
fulltilt
Posts: 366
Joined: 2006-08-27 02:06
 

Re: Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?

Post 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*
User avatar
Joe User
Project Manager
Project Manager
Posts: 11183
Joined: 2003-02-27 01:00
Location: Hamburg
 

Re: Sehr viele Dateien eines Ordners älter als 1 Jahr löschen?

Post 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
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.