Knowledge base

Efficiënt veel bestanden verwijderen op Linux servers

Laatst bijgewerkt op 6 sep 2023 13:14:56.
Categorie: Cloud servers

CentOS Debian Linux

We hebben het allemaal wel eens voor: een of ander op hol geslagen script bezorgt hoofdpijn omdat een map - typisch, sessies - volgeschreven werd met miljoenen bestanden. Linux is daar niet echt blij mee, de map verwijderen is geen optie en het trouwe "rm -rf" commando lijkt er ook de brui aan te geven. Om het nog erger te maken: u wil enkel bestanden verwijderen van een paar dagen geleden... Wat zijn de opties?

Find is you friend

Het Linux "find" commando is een mogelijke oplossing. Spontaan zullen velen grijpen naar:

find /yourmagicmap/* -type f -mtime +3 -exec rm -f {} \;

Bovenstaand commando zal een lijst genereren van bestanden ouder dan drie dagen en elk gevonden bestand doorgeven aan het rm commando. Met bovenstaande regel is echter één probleem: het zal tijd vragen, want een miljoen keer het rm commando aanroepen is ook niet wat men efficiënt kan noemen.

Een betere optie is onderstaande commando:

 find /yourmagicmap/* -type f -mtime +3 -delete

Daarmee geef je het find commando meteen de opdracht om dit alles ook weg te gooien. Maak er meteen een goede gewoonte van en plaats het in een cronjob, als dit op frequente basis moet gebeuren.

Het rsync alternatief!

rsync is zonder twijfel een van de handigste commandos als het op bestandsacties aankomt. Rsync kan uiteraard alle mogelijke synchronisaties van volumes afhandelen, maar er is ook een manier om via rsync een map leeg te maken.
We gaan er in dit voorbeeld van uit dat u beschikt over een map genaamd /tmp/empty/ welke leeg is, en een map /tmp/session/ waar teveel rommel in staat. Via onderstaande regel kan u de bestanden verwijderen:

rsync -a --delete /tmp/empty /tmp/session/

Welk is nu het sneltste commando?

rm: massa's bestanden verwijderen is geen optie!

find -exec: een optie, maar traag!

find -delete: snelle manier om massa's bestanden te verwijderen.

rsync --delete: zonder twijfel de snelste!


Gerelateerde artikels

Hoe de taal van Kinamo webmail aanpassen

Dit FAQ-artikel legt uit hoe je de taal van de gebruikersinterface kunt aanpassen in Kinamo Webmail

Lees meer

Kan ik mijn e-mail online raadplegen (via webmail)?

Als u een e-mail heeft bij Kinamo kan u uw mailbox online raadplegen door te surfen naar webmail.kinamo.be. Het enige...

Lees meer

Instellen van een automatische SPAM filter via Kinamo Webmail

Heeft u een email bij Kinamo? Ontdek hier hoe u via de Kinamo Webmail een speciale filter kan aanmaken SPAM...

Lees meer

Extra hulp nodig?

Werden niet al uw vragen beantwoord?
Geen nood, via een support aanvraag helpen wij u graag verder!

Kinamo

Selecteer uw taal

Alle talen: