Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: [Opgelost] Webserver temp bestanden verwijderen  (gelezen 1780 keer)

Offline MKe

  • Lid
  • Steunpunt: Nee
[Opgelost] Webserver temp bestanden verwijderen
« Gepost op: 2010/08/27, 13:37:16 »
Hoi,

Ik heb hier een web applicatie die temp bestanden aanmaakt in een eigen mapje (dus niet in /tmp). Is er in Ubuntu een functie om deze map automatisch te laten monitoren en bestanden die ouder zijn dan 2 dagen te verwijderen? Ik weet dat Ubuntu de tmp map leeg gooit als er een reboot is, maar deze server wordt natuurlijk zo min mogelijk gereboot. Het moet dus op gezette tijden opgeschoond worden.
« Laatst bewerkt op: 2010/08/31, 16:33:22 door MKe »
Mijn blokkendoos blog: http://mke21.wordpress.com/

Offline vanadium

  • Lid
  • Steunpunt: Nee
Re: Webserver temp bestanden verwijderen
« Reactie #1 Gepost op: 2010/08/27, 13:43:38 »
Dat doe je met een cron job. Je maakt een scriptje dat de opkuis doet, en laat dat om de twee dagen uitvoeren door cron.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
  • Steunpunt: Nee
Re: Webserver temp bestanden verwijderen
« Reactie #2 Gepost op: 2010/08/27, 13:49:11 »
Een cronjob lijkt me idd het makkelijkst.

Een simpel commando om bestanden die de laatste 2 dagen niet zijn bewerkt te vinden:
find /tempmap -mtime +1

Om die bestanden te deleten:
find /tempmap -mtime +1 -delete

Pas wel op met het 2e commando, dat verwijdert onherroepelijk alles wat hij aan bestanden vindt.
Test dus eerst of het filteren wel goed gebeurt.
Met "man find" kan je de handleiding voor het find commando opvragen.


Offline ivo

  • Lid
  • Steunpunt: Nee
Re: Webserver temp bestanden verwijderen
« Reactie #3 Gepost op: 2010/08/27, 14:44:32 »
Dat doe je met een cron job. Je maakt een scriptje dat de opkuis doet, en laat dat om de twee dagen uitvoeren door cron.

Neenee, om de twee dagen iets opruimen is iets anders dan alles dat ouder is dan twee dagen opruimen.
There are only 10 types of people in the world; those who understand binary and those who don't.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
  • Steunpunt: Nee
Re: Webserver temp bestanden verwijderen
« Reactie #4 Gepost op: 2010/08/27, 14:46:53 »
Je kan best ieder uur (of vaker of juist minder vaak) een scriptje runnen dat kijkt welke bestanden er zo oud zijn, om die vervolgens te verwijderen.
Dit soort "onderhouds"-taakjes komt niet aan op de minuut ofzo.

Iedere 2 dagen een cronjob runnen die alles verwijdert is idd niet zo handig  :P

Offline MKe

  • Lid
  • Steunpunt: Nee
Re: Webserver temp bestanden verwijderen
« Reactie #5 Gepost op: 2010/08/27, 16:21:40 »
Bedankt voor het antwoord.
Ik heb me even verdiept in cron, dus hoop dat het klopt.
Ik heb een cronjob gemaakt die als volgt luidt:

0 12 * * * find /var/www/BlastTest/query -mtime +1 -deleteDeze zou dan elke dag om 12.00 uur alle bestanden in /var/www/BlastTest/query/ die ouder zijn dan 1 dag moeten verwijderen. Heb ik dat goed begrepen?
« Laatst bewerkt op: 2010/08/27, 16:23:50 door MKe »
Mijn blokkendoos blog: http://mke21.wordpress.com/

Offline Johan van Dijk

  • Administrator
    • johanvandijk
  • Steunpunt: Nee
Re: Webserver temp bestanden verwijderen
« Reactie #6 Gepost op: 2010/08/27, 16:26:33 »
Alle bestanden en mappen die ouder zijn dan 2 dagen (zie de handleiding van find).
Als je alleen bestanden weg wil halen, de mappen dus niet, dan kan je ook -type f toevoegen vlak voor het -mtime gedeelte.

Er zijn ook nog andere opties, zoals ctime, mtime, atime enz. Welke er het beste past hangt een beetje af van hoe die temp bestanden gebruikt worden.

Offline MKe

  • Lid
  • Steunpunt: Nee
Re: Webserver temp bestanden verwijderen
« Reactie #7 Gepost op: 2010/08/31, 16:33:05 »
Het werkt prima, deze topic gaat dus op [Opgelost]. Bedankt iedereen!