Setting Cron job to delete file after 24 hours

user2290749 picture user2290749 · May 1, 2013 · Viewed 31.1k times · Source

I read all the related questions and was unable to understand them. I am using Plesk CPanel to set cron job as it was advised by everyone.

I want to delete all files from a folder after 24 hours. Assume that I have to delete it after every 2 mins (So I can check its working or not).

I have two options:

  1. Either run a PHP file that deletes all files after 24 hours using a cron job
  2. Use the cron job command `rm` to delete all the files

I tried both ways and was unable to get my task completed.

Here is the pic of cpanel scheduled task:

http://i41.tinypic.com/2n0tsfs.png

I want to delete files from folder var/www/example.com/public/js/complied. All files inside this complied folder should be deleted. I don't know which to write in Command textfield.

Should I use the following command?

rm /var/www/example.com/public/js/compiled/*.*

Or should I execute a php file?

env php -q/var/www/example.com/public/js/cron.php

The source code of this Cron.php is:

<?php
$dir = "compiled"; // directory name



foreach (scandir($dir) as $item) {
    if ($item == '.' || $item == '..')
        continue;

        unlink($dir.DIRECTORY_SEPARATOR.$item);
        echo "All files deleted";
    }   
//rmdir($dir);

?>

I have tested this code and it works fine.

Thanks in advance.

Answer

MrCleanX picture MrCleanX · May 1, 2013

I use this in a shell script...

find /some/path -mtime +7 -exec rm {} \; # delete > 7 days old