Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8423587
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 10, 20262026-06-10T03:45:46+00:00 2026-06-10T03:45:46+00:00

I need to write a script for a web server that will clean out

  • 0

I need to write a script for a web server that will clean out files/folders older than 14 days, but keep the last 7 files/directories. I’ve been doing my research so far and here is what I came up with (I know the syntax and commands are incorrect but just so you get an idea):

ls -ldt /data/deployments/product/website.com/*/ | tail -n +8 | xargs find /data/deployments/product/website.com/ -type f -type d -mtime +14 -exec rm -R {} \;

This is my thought process as to how the script should behave (I’m more a windows batch guy):

List the directory contents

 If contents is less than or equal to 7, goto END
 If contents is > 7 goto CLEAN
:CLEAN
ls -ldt /data/deployments/product/website.com/*/
keep last 7 entries (tail -n +8)
output of that "tail" -> find -type f -type d (both files and directories) -mtime +14 (not older than 14 days) -exec rm -R (delete)

I’ve seen a bunch of examples, using xargs and sed but I just can’t figure out how to put it all together.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-10T03:45:47+00:00Added an answer on June 10, 2026 at 3:45 am
    #!/bin/bash
    
    find you_dir -mindepth 1 -maxdepth 1 -printf "%T@ %p\n" | \
    sort -nrk1,1 |sed '1,7d' | cut -d' ' -f2 | \
    xargs -n1 -I fname \
    find fname -maxdepth 0 -mtime +14 -exec echo rm -rf {} \;
    

    remove the echo if your happy with the output…

    Explanation (line-by-line):

    1. find in exactly in your_dir and print seconds_since_Unix_epoch (%T@) and file(/dir)name for each file/dir on a separate line
    2. sort by first field (seconds_since_Unix_epoch) descending, throw the first seven lines away – from the rest extract just the name (second field)
    3. xargs passes on to new find process argument-by-argument (-n1) and uses fname to represent argument
    4. -maxdepth 0 limits find to just fname

    You could store the minNrOfFiles and the ageLimit in Bash-Variables or pass in to the script with just few changes:

    minNrOfFiles=7 # or $1
    ageLimit=14    # or $2
    

    change: sed '1,'"$minNrOfFiles"'d' and -mtime +"$ageLimit"

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I need to write a script for MS Exchange Server 2003 that will analyze
I need to write a script that incrementally keeps track of files and directories
I need to write a python script that constantly checks a remote web service
I need to write a php script, that will do a POST request to
I need to write a script in Matlab, which will read some data from
I need to write a script which will post username and password onto a
I have a noobie question: I need to write SQL script that returns 3
I need to write a python script that makes multiple HTTP requests to the
I need to write a script that takes a link and parses the HTML
I need to write a script in SQL 2008 R2 integration Services to CREATE

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.