?
Solved

deleting file and directories older than 30 days

Posted on 2001-09-10
6
Medium Priority
?
211 Views
Last Modified: 2012-05-05
How can I delete files and directory and subdirectory which are older than 30 days.
ie. which are not modified in more than 30 days.
all these directories are under
/testlog/testsyste/ directory.
0
Comment
Question by:sushrut
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
6 Comments
 
LVL 19

Expert Comment

by:Kim Ryan
ID: 6472641
This has been answered lots of times before (its worth searching through the previous answers). You can save some points by looking at http://www.experts-exchange.com/jsp/qShow.jsp?qid=20118133
0
 
LVL 5

Accepted Solution

by:
Droby10 earned 150 total points
ID: 6472808
another alternative would be to execute the unix find command with the appropriate args.

# removes files older than 30 days recusively from the basepath

$basepath = /testlog/testsyste/
$daysold = 30
find $basepath -ctime $daysold -exec rm {} \;
0
 
LVL 19

Expert Comment

by:Kim Ryan
ID: 6475536
Has this helped??
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 1

Author Comment

by:sushrut
ID: 6476788
I was doing similer thing..
find $basepath -ctime $daysold -exec rm {} \;
but without giving '\'
any way,
I will test this code and give you points.

I am out for some training for next  7 days.
I will give you ponts when I go to office..
thanks a lot..
and sorry for late in checking the output and giving you points..

0
 
LVL 19

Expert Comment

by:Kim Ryan
ID: 6478189
Keep in mind that rm is a Unix specific commnad. If you want to make your code portablr, you need to use the perl unlink command to remove files.
0
 
LVL 3

Expert Comment

by:iPromoExpert
ID: 23009180
I used


find . -mtime +30 -exec rm {} \;


the +30 stands for anything older then 30 days, and i use -mtime finding the last modified time. lastly the find . states that you are finding everything from the current directory, or "pwd"
0

Featured Post

New benefit for Premium Members - Upgrade now!

Ready to get started with anonymous questions today? It's easy! Learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I've just discovered very important differences between Windows an Unix formats in Perl,at least 5.xx.. MOST IMPORTANT: Use Unix file format while saving Your script. otherwise it will have ^M s or smth likely weird in the EOL, Then DO NOT use m…
I have been pestered over the years to produce and distribute regular data extracts, and often the request have explicitly requested the data be emailed as an Excel attachement; specifically Excel, as it appears: CSV files confuse (no Red or Green h…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
Six Sigma Control Plans

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question