Sponsored Content
Top Forums Shell Programming and Scripting delete file older than N days Post 302126545 by Ygor on Thursday 12th of July 2007 12:58:35 AM
Old 07-12-2007
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.
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Delete user file(s) older then 'X' days ??

I want to delete any file in unix file system which is older then a week. Those files should not be unix system file..means it should be user created file. Any clue to this ?? ASAP. Thanks. (2 Replies)
Discussion started by: varungupta
2 Replies

2. UNIX for Dummies Questions & Answers

Delete files older than 30 days

This is driving me crazy. How can I delete files in a specifc directory that are over 30 days old? Thanks in advance. (3 Replies)
Discussion started by: tlphillips
3 Replies

3. Shell Programming and Scripting

delete files more than 15 days older

i have to delete files which are older than 15 days or more except the ones in the directory Current and also *.sh files i have found the command for files 15 days or more older find . -type f -mtime +15 -exec ls -ltr {} \; but how to implement the logic to avoid directory Current and also... (3 Replies)
Discussion started by: ali560045
3 Replies

4. Solaris

Delete files older than 30 days

Hi all, I want to delete log files with extension .log which are older than 30 days. How to delete those files? Operating system -- Sun solaris 10 Your input is highly appreciated. Thanks in advance. Regards, Williams (2 Replies)
Discussion started by: William1482
2 Replies

5. Shell Programming and Scripting

To delete logs older than 30 days

I want to write a shell script that deletes all log files in a directory that are older than 30 days except for 3 files: I am using the following command: find /tmp/logs -name "*.log" -mtime +30 -exec rm -f {} \;But this command deletes all the log files. How can i modify this script that... (5 Replies)
Discussion started by: mmunir
5 Replies

6. Shell Programming and Scripting

Delete files older than X days.

Hi All, I am using below code to delete files older than 2 days. In case if there are no files, I should log an error saying no files to delete. Please let me know, How I can achive this. find /path/*.xml -mtime +2 Thanks and Regards Nagaraja. (3 Replies)
Discussion started by: Nagaraja Akkiva
3 Replies

7. UNIX for Dummies Questions & Answers

Delete file older than three days

I am using SFTP to transmit files from the Mainframe to an UNIX server. I am looking for some kind of script that runs with SFTP to delete tranmitted files older than 3 days. Can this be done in a SFTP transmission batch job? (5 Replies)
Discussion started by: Steve Carlson
5 Replies

8. Shell Programming and Scripting

Delete logs older than 60 days

i am using HP-UX OS...... delete logs older than 60 days find -mtime +60 | grep -i '.*log' | xargs rm -mtime is nt available in HP-UX, pls tell me other option ? (2 Replies)
Discussion started by: only4satish
2 Replies

9. Shell Programming and Scripting

List and Delete Files which are older than 7 days, but have white spaces in file name

I need to list and delete all files in current older which are olderthan 7 days. But my file names have white spaces. Before deleting I want to list all the files, so that I can verify.find . -type f -mtime +7 | xargs ls -l {} But the ls command is the working on the files which have white... (16 Replies)
Discussion started by: karumudi7
16 Replies

10. Shell Programming and Scripting

Search 2 days older file and then delete last 10 lines

I want to search 2 day older file and then delete last 10 line of that file. (2 Replies)
Discussion started by: sonu pandey
2 Replies
DATEINTERVAL(3) 							 1							   DATEINTERVAL(3)

The DateInterval class

INTRODUCTION
Represents a date interval. A date interval stores either a fixed amount of time (in years, months, days, hours etc) or a relative time string in the format that DateTime's constructor supports. CLASS SYNOPSIS
DateInterval DateInterval Properties o public integer$y o public integer$m o public integer$d o public integer$h o public integer$i o public integer$s o public integer$invert o public mixed$days Methods o public DateInterval::__construct (string $interval_spec) o publicstatic DateInterval DateInterval::createFromDateString (string $time) o public string DateInterval::format (string $format) PROPERTIES
o $y - Number of years. o $m - Number of months. o $d - Number of days. o $h - Number of hours. o $i - Number of minutes. o $s - Number of seconds. o $invert - Is 1 if the interval represents a negative time period and 0 otherwise. See DateInterval::format. o $days - If the DateInterval object was created by DateTime.diff(3), then this is the total number of days between the start and end dates. Otherwise, $days will be FALSE. Before PHP 5.4.20/5.5.4 instead of FALSE you will receive -99999 upon accessing the prop- erty. PHP Documentation Group DATEINTERVAL(3)
All times are GMT -4. The time now is 09:42 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy