Deleting Files by Age on Linux

The command to delete files over a certain age is deceptively easy in Linux.

   find * -mtime +5 -exec rm {} \;

This finds all files over 5 days old in the current directory and deletes them. This is quite useful in a backup script run from cron.

If you want to also delete directories then you can add -rf to your rm 🙂

   find * -mtime +5 -exec rm -rf {} \;

It can also be helpful to filter on file names

   find *.log -mtime +5 -exec rm {} \;