The UNIX and Linux Forums  
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.

Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com



Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Command for delete the directories which are older than 7 days sridhar sivakot HP-UX 1 02-15-2008 09:11 AM
how to archive logs older than 5 days & then delete them? timus1980 UNIX for Advanced & Expert Users 1 02-08-2008 06:53 AM
Delete user file(s) older then 'X' days ?? varungupta UNIX for Advanced & Expert Users 2 08-24-2007 05:01 AM
How can I delete files older than 7 days? odogbolu98 UNIX for Dummies Questions & Answers 3 02-26-2002 08:35 PM
delete files older than 7 days lesstjm UNIX for Dummies Questions & Answers 1 11-06-2001 10:43 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 07-11-2007
ericaworld ericaworld is offline
Registered User
  
 

Join Date: May 2007
Posts: 11
delete file older than N days

Hi, All,
I'd like to delete files older than 1 day.

I thought the following command

find /your_directory -mtime +1-exec rm -f {} \;

will do the work, but not so, it seems like it won't delete files unless it is 2 days old or older. the files between 1 day and 2 days old does not get deleted, so does +1 actually means 2 days? if not so, why it won't delete files between 1 and 2 days old? can someone please help me?
  #2 (permalink)  
Old 07-11-2007
ericaworld ericaworld is offline
Registered User
  
 

Join Date: May 2007
Posts: 11
delete files older than 1 day

Hi, All,
I'd like to delete files older than 1 day.
I thought the following command :

find /your_directory -mtime +1-exec rm -f {} \;

will do the work, but not so, it seems like it won't delete files unless it is 2 days old or older. the files between 1 day and 2 days old won't get deleted, so does +1 actually means 2 days? if not so, why it won't delete files between 1 and 2 days old? can someone please help me?
  #3 (permalink)  
Old 07-11-2007
dangral dangral is offline Forum Advisor  
Registered User
  
 

Join Date: Oct 2002
Posts: 699
That command will delete anything that is older than 24 hours from when the command was run.
  #4 (permalink)  
Old 07-11-2007
Shell_Life's Avatar
Shell_Life Shell_Life is offline
Registered User
  
 

Join Date: Mar 2007
Location: Bahia, Brazil
Posts: 695
Erika,
As you said:
Quote:
I'd like to delete files older than 1 day.
the files between 1 day and 2 days old won't get deleted, so does +1 actually means 2 days?
Yes, the "find" has three options for number of days:
1) +n --> More than 'n' days ago.
2) -n --> Less than 'n' days ago.
3) n ---> Exactly 'n' days ago.

Thus, if you specify '+1', it means more than 1 day ago.
  #5 (permalink)  
Old 07-12-2007
Ygor's Avatar
Ygor Ygor is offline Forum Staff  
Moderator
  
 

Join Date: Oct 2003
Location: -31.96,115.84
Posts: 1,407
Actually, date ranges in the find command do not work quite how you expect them to.

1 means 24 hours old
-1 means less than 24 hours old
+0 means more than 24 hours old
+1 means more than 48 hours old
Demonstration at the ksh prompt...
Code:
$ for i in 09 10 11 12;do touch -t 200707${i}0000  July_${i};done
$ ls -o
total 0
-rw-r--r--    1 Ygor          0 Jul  9 00:00 July_09
-rw-r--r--    1 Ygor          0 Jul 10 00:00 July_10
-rw-r--r--    1 Ygor          0 Jul 11 00:00 July_11
-rw-r--r--    1 Ygor          0 Jul 12 00:00 July_12
$ for j in 1 -1 +0 +1;do echo "[[ ${j} ]]";find . -type f -mtime ${j} -print;done
[[ 1 ]]
./July_11
[[ -1 ]]
./July_12
[[ +0 ]]
./July_09
./July_10
./July_11
[[ +1 ]]
./July_09
./July_10
The reason is that "+1" means 2 or more days old, i.e. more than 48 hours old.
  #6 (permalink)  
Old 07-12-2007
bigearsbilly bigearsbilly is offline
Registered User
  
 

Join Date: Feb 2006
Location: Southern England
Posts: 102
if you need to be really precise I usually do summink like:

Code:
touch -t YYYYMMDDhhmmss 111
find . -older 111 | xargs rm
  #7 (permalink)  
Old 07-12-2007
psiva_arul's Avatar
psiva_arul psiva_arul is offline
Registered User
  
 

Join Date: Jul 2007
Location: Bangalore, India
Posts: 97
How to find the Cron entrys path in UNIX server?

Actually, i wanted know about the cron entry path in my UNIX server?
if i issued the crontab -l it will listout the all cront entries in the current server, But i wanted to know about the PATH where all the cron entries is stored?


Please, any one help me.

Thanks,
Siva.P
Closed Thread

Bookmarks

Tags
mtime

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT -4. The time now is 08:37 AM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0