Delete files that are x days old

Rob —  September 6, 2013 — 5 Comments

Sometimes in Linux, you want to clear out older files in a directory. One instance would be if you have a security system and it continuously writes video files to a directory on your NAS (Network Attached Storage) until it fills it up. You’ve figured out that if you keep a week’s worth of video, it will usually leave plenty of space for other users.

What I would suggest here is creating a cron job that runs every night and runs something like the following command:

What it all means:
find: the command that will search for the files
/path/to/files/: the top level directory to start searching
-type f: so we don’t remove directories, only files
-mtime +7: files older than ‘7’ days. Change to ‘+14’ to delete files older than 2 weeks.
-exec: what to do with the files we find
rm -rf: remove them recursively, force
{}: this represents each file we find
\;: the end of the exec

SO – the crontab entry would be this:

This will run every night at 2am.

Related posts from Linux Brigade!

  • Try a DigitalOcean VPS free for a month (or two)Try a DigitalOcean VPS free for a month (or two) Have you been meaning to try out an SSD Linux server on Digital Ocean but keep putting it off? LinuxBrigade.com is currently being hosted on a DigitalOcean server and now you can get a […]
  • Block account from sending mail WHM/cPanelBlock account from sending mail WHM/cPanel There may come a time when you’d like to block an account / domain on your WHM/cPanel server from being able to send mail. Here’s how you’d get it done!

    We’re going to set up a […]

  • Globally disable directory listing on WHM/cPanelGlobally disable directory listing on WHM/cPanel One of the things that WHM/cPanel servers have on by default is directory listing. This is something you don’t want – but it’s easy to fix!

    1. Log into WHM
    2. Apache Configuration […]

  • Patch your WHM/cPanel machine for heartbleedPatch your WHM/cPanel machine for heartbleed You’ve certainly heard about Heartbleed by now. If not, you can read more about this vulnerability at Heartbleed.com. Continue reading this post to find out if you’re vulnerable, and how […]
  • Enable statistics in Configserver Firewall (CSF) I’ve noticed recently that a new install of CSF won’t have statistics enabled by default.  Here’s how to enable them…

    Edit your /etc/csf/csf.conf file and change:

    ST_ENABLE = […]

5 responses to Delete files that are x days old

  1. Finally….I can free up so much space from my Linux now. I’m relatively new to Linux so 90% of the time I have no idea what I’m doing haha. Thanks for posting this.

  2. Wow this is a great use of the cron job. I’m definitely keeping this command because it’d be great for any type of server that keeps old files or constant backups. For example a Minecraft server that does backups every hour. Then you could have it delete all saves older than few days or a week. Not to mention how useful this could be for managing all sorts of backups. Bookmarked for sure.

  3. Thanks so much for posting this,

    It has helped me out so much,

    I’ve freed up so much space thanks to you.

    Eoin

  4. This looks incredibly useful! I’ve wanted to be able to do something like this before, but I didn’t realize it was actually possible. I should’ve realized it was. Linux is awesome like that.

  5. I like the fact that you explained each entry in the command so that anyone can modify accordingly.

    Thanks

Leave a Reply to joe chan Cancel reply

Text formatting is available via select HTML.

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url=""> 

*