Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

OS Linux

Bestanden voor een bepaalde datum verwijderen

awinkel
5 antwoorden
  • Ik gebruik SARG om rapporten uit te draaien voor mijn squid proxyserver.
    Alleen is elke dag een apart rapport dus neemt dit na verloop van tijd heel veel schijfruimte in beslag, dit terwijl ik aan zeven dagrapporten voldoende zou hebben.
    Nu wil ik een script maken wat alle rapporten die ouder zijn dan de huidige datum - 6 dagen verwijderen.
    Met [b:624cf8de96]date –date "6 day ago" +%d/%m/%Y[/b:624cf8de96] kan ik de datum specificeren waarvoor de data verwijderd moet worden.
    Alleen hoe kan ik dat filteren in een [b:624cf8de96]rm[/b:624cf8de96] opdracht?
  • combinatie van find en rm gebruiken (hint: man find ;) )

    Kijk naar de opties -delete en -exec van find. Met wat pipes etc. kun je daarmee een commando in elkaar flansen :)

    succ6
  • Hmm…over het find commando had ik dus helemaal heen gekeken.
    Bedankt voor de hints, mocht het toch niet lukken dan meld ik mij wel. :wink:
  • find /pad/naar
    apporten -type f -mtime +6 -exec rm "{}" \;

    gooit alles onder /pad/naar
    apporten/ ouder dan 6 dagen weg. Roept rm aan voor elke file, wat niet optimaal is als het heel veel bestanden zijn.

    optimaal (en ook safe voor rare bestandsnamen) is:

    find /pad/naar
    apporten -type f -mtime +6 -print0 | xargs -0 -r rm

    (let op beide keren cijfer 0 niet letter O).
  • Ik heb nu de onderste (safe) opdracht gebruikt.
    Dit werkt goed en de bestanden in de subdirs worden ook netjes verwijderd.
    Ik krijg alleen met geen mogelijkheid de directories zelf ook weg.
    Ik heb [b:32e183d6e8]| xargs -0 -r rm [/b:32e183d6e8] veranderd in [b:32e183d6e8]| xargs -0 -r rm -fr[/b:32e183d6e8] maar de subdirs blijven bestaan.
    Weet iemand de oplossing?

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.