Cron Job Not Working – Delete Files Older Than 7 Days

cronlinuxUbuntu

I have a cron job that runs at midnight to delete all .txt files in a folder that are older than 7 days. I can see the job is running, but the files still exist in the folder.

I'm new to cron, so I'd really appreciate someone pointing out where I've gone wrong, or how to diagnose it if not obvious.

Here's my code with the directories obscured:

0 0 * * * bin/find /var/www/example.com/wp-content/targetdir -name "*.txt" -type f -mtime +7 -exec rm -rf {} \;

Thanks in advance all.

Best Answer

  • simply use 'find' or use the absolute path starting with / (for ubuntu it is /usr/bin/find)
  • if you want to delete files, do not use 'rm -r'

This one works fine:

0 0 * * * /usr/bin/find /var/www/example.com/wp-content/targetdir -name "*.txt" -type f -mtime +7 -exec rm -f {} \;
Related Topic