Cleaning the /tmp directory

Patrick Weber p.weber at UCL.AC.UK
Wed May 25 01:19:11 PDT 2005


Windows does have scheduled tasks which you can use to run any kind of
program, including batch scripts and so on.

Daniel Caldeweyher wrote:
> On Mon, 23 May 2005 09:29:59 -0700, John Kim <jkim at SCIENCES.SDSU.EDU> wrote:
>
>
>>>from : http://mapserver.gis.umn.edu/cgi-bin/wiki.pl?PHPMapScriptRH72
>>>there is :
>>>Setup MapServer IMAGEDIR and cleanup script
>>>...
>>
>>Any tips on how you'd do this in Windows?
>>
>>Thanks,
>>
>>John
>>
>
>
> I am using JavaMapscript with Tomcat and developed the following class to
> do the automated cleaning for me:
>
> to execute you simple write:
>
> new Thread(new Cleaner()).start()
>
> The temp file path and clean interval (in milliseconds; every 12 hours) is
> loaded from my configuration file. Modifying the code to not delete files
> that have been created in the last couple or minutes or so, should be
> fairly easy to implement:
>
> package au.edu.qpsf.ocis;
>
> import java.io.*;
> /**
>  *
>  * @author Daniel Caldeweyher
>  */
> public class Cleaner implements Runnable {
>     private String tempPath;
>     private volatile boolean active;
>
>     public void run() {
>         this.active = true;
>         while(active) {
>             OpenCIS ocis = OpenCIS.getInstance();
>             tempPath = ocis.getConfigParameter("imagepath");
>             long waitInterval = Long.parseLong(ocis.getConfigParameter
> ("cleanup-interval"));
>
>             File tempDir = new File(tempPath);
>             if(tempDir.exists() && tempDir.isDirectory() && tempDir.canWrite
> ()) {
>                 System.out.println("Start cleanup: " +
> tempDir.getAbsolutePath());
>                 File[] files = tempDir.listFiles();
>                 int numFilesDeleted = 0;
>                 for(File f : files) {
>                     if(f.canWrite()) {
>                         f.delete();
>                         numFilesDeleted++;
>                     }
>                 }
>                 System.out.println("Deleted " + numFilesDeleted + " temp
> files, could not delete " + (files.length - numFilesDeleted) + " files.");
>             }
>
>             try { Thread.sleep(waitInterval);
>             } catch (InterruptedException ie) { active = false; }
>         }
>
>     }
>
>     public void stopCleaner() {
>         active = false;
>     }
>
>     public String getTempPath() {
>         return tempPath;
>     }
>
>     public void setTempPath(String tempPath) {
>         this.tempPath = tempPath;
>     }
> }
>
> This solution will work on any operating system, including windows which is
> missing cron jobs.
>
> Daniel

--
________________________________________

   Patrick Weber | p.weber at ucl.ac.uk

   Research Associate

   Centre for Advanced Spatial Analysis
   http://www.casa.ucl.ac.uk/

   University College London
________________________________________



More information about the MapServer-users mailing list