Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Bash: Linux. Poista hakemistoja

Ariel [12.01.2011 12:49:57]

#

Hei.

Mikä olisi oikeaoppinen komento, kun haluan poistaa hakemistoja polusta /home/ff30/logs/

Hakemistot ovat muodossa:

2011-01-06_10:12:24
2011-01-07_13:02:23
...

Haluaisin poistaa hakemistot, jotka ovat vanhempia, kuin 20 päivää.

Tarkoitus olisi laittaa tämä komento croniin.

Nyt minulla on alkua:

find /home/ff30/logs -type d -mtime + 20 -exec rm -rf

Mutta ei tosiaan vielä toimi.

Metabolix [12.01.2011 13:12:26]

#

Komennossasi on useampikin virhe: +20 kuuluu yhteen, hakemiston nimi puuttuu ja exec pitää lopettaa puolipisteeseen.

# Turvallinen kokeilu:
find /home/ff30/logs -type d -mtime +20 -exec echo '{}' \;
# Poisto; ei ehkä ajaa kokeilematta:
find /home/ff30/logs -type d -mtime +20 -exec rm -rf '{}' \;

Jos hakemistoja ei ole kohtuuttomasti, toinen mahdollisuus on xargs:

find /home/ff30/logs -type d -mtime +20 | xargs rm -rf --

Ariel [12.01.2011 13:20:06]

#

Kiitos avusta Metabolix.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta