Hi Mr Dynaweb (as it looks like you who always replies to these things, but hello to anyone else who wants to help too:)
I want to add a cron job to run every day, which deletes all files in a certain directory that are more than 3 days old.
I have gone to the Cpanel, and adding a job looks fairly straightforward, but before entering commands I want to make sure I know what I'm doing.
I have very little unix experience (only that which I have gained form running hosted websites for a few years), and want to make sure I know the commands that will filter the set of files being deleted to ONLY those older that 3 days.
As a side issue, these files are created by a php script running on the site, so I wonder about the permissions, and I wonder if there is a heirarchy to how permissions are structured. (for example is there a user 'apache, or php who may be the owner of the files?)
Hi,
This can be done through cron.
*** Updated 4/23/25 for new compatibility and details ***
Here's How to Add the Cron Job You DescribedTo
delete files older than 3 days in a specific directory (e.g.
/home/username/tmpfiles), you can use the
find command in your cron job like this:
find /home/username/tmpfiles -type f -mtime +3 -deleteExplanation:find: The command to search files./home/username/tmpfiles: Replace this with the actual directory path.-type f: Only looks for files (not directories).-mtime +3: Only selects files modified more than 3 days ago.-delete: Deletes them.
IMPORTANT: Make absolutely sure you've tested this in a safe way (e.g. remove
-delete and add
-print to test which files would be deleted).
🕑 How to Set This to Run Daily
In the
cPanel Cron Jobs section, under "Add New Cron Job", choose:
- Common Settings:
Once Per Day - Command:
find /home/username/tmpfiles -type f -mtime +3 -delete
(Again, replace
/home/username/tmpfiles with the real path.)
PermissionsAs for file ownership, our new cPanel servers should be configured to allow access without any problem. If you need help, feel free to open a support ticket.