how to remove files with a date


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting how to remove files with a date
# 1  
Old 06-12-2006
how to remove files with a date

I have files with a date name ( 20060506 20060507 etc..) that i want to remove
because it keeps filling up the directory. Can someone please help me with a script to remove those date files. i would like to keep atleast 14 days worth from the current date. I hope i have explained it clearly and thanks Smilie
# 2  
Old 06-12-2006
search forums

Use Perderabo's datecalc and see this post and you will get some idea on how to proceed.
# 3  
Old 06-12-2006
Quote:
Originally Posted by justintime
I have files with a date name ( 20060506 20060507 etc..) that i want to remove
because it keeps filling up the directory. Can someone please help me with a script to remove those date files. i would like to keep atleast 14 days worth from the current date. I hope i have explained it clearly and thanks Smilie

Can you do it based upon modification time instead of filename?

The below will remove all files in <dir> that have not been modified in the past 14 days.
Code:
find <dir> -mtime +14 -exec rm -f {} \;

# 4  
Old 09-08-2006
Quote:
Originally Posted by Mike_the_Man
Can you do it based upon modification time instead of filename?

The below will remove all files in <dir> that have not been modified in the past 14 days.
Code:
find <dir> -mtime +14 -exec rm -f {} \;

will the below script of mine work this way? Smilie

#! /bin/sh

Today_Date=`date +%Y%m%d`
log=`/usr/TRS/HULFT/movedata.log`

mkdir /usr/TRS/backup/${Today_Date}

mv /usr/TRS/data/T* /usr/TRS/backup/${Today_Date} > ${log}

find /usr/TRS/backup/. -name 'T*' -mtime +1 -exec rm -fr {} \; > ${log}
# 5  
Old 09-08-2006
Quote:
Originally Posted by lweegp
will the below script of mine work this way? Smilie

#! /bin/sh

Today_Date=`date +%Y%m%d`
log=`/usr/TRS/HULFT/movedata.log`

mkdir /usr/TRS/backup/${Today_Date}

mv /usr/TRS/data/T* /usr/TRS/backup/${Today_Date} > ${log}

find /usr/TRS/backup/. -name 'T*' -mtime +1 -exec rm -fr {} \; > ${log}
The setting of the log variable line will give you an error using the `.
The rest looks ok. I would change would be the redirects on your log files. If you want a new log file everyday, then you can rm the logfile at the beginning of your script. The find command will work. I changed the search path a little, but your version should work as well. Your script will probably leave a bunch of directories, /usr/TRS/backup/<date>, out there. I would include something to clean that up. See below for the changes.
I hope this helps.

Mike


Code:
#! /bin/sh

Today_Date=`date +%Y%m%d`
log="/usr/TRS/HULFT/movedata.log"

#If you want a new log file on each run
rm -f ${log}

mkdir /usr/TRS/backup/${Today_Date}

mv /usr/TRS/data/T* /usr/TRS/backup/${Today_Date} >> ${log} 2>> ${log}

find /usr/TRS/backup -name 'T*' -mtime +1 -exec rm -fr {} \; >> ${log} 2>> ${log}

# 6  
Old 09-10-2006
Quote:
Originally Posted by Mike_the_Man
The setting of the log variable line will give you an error using the `.
The rest looks ok. I would change would be the redirects on your log files. If you want a new log file everyday, then you can rm the logfile at the beginning of your script. The find command will work. I changed the search path a little, but your version should work as well. Your script will probably leave a bunch of directories, /usr/TRS/backup/<date>, out there. I would include something to clean that up. See below for the changes.
I hope this helps.

Mike


Code:
#! /bin/sh

Today_Date=`date +%Y%m%d`
log="/usr/TRS/HULFT/movedata.log"

#If you want a new log file on each run
rm -f ${log}

mkdir /usr/TRS/backup/${Today_Date}

mv /usr/TRS/data/T* /usr/TRS/backup/${Today_Date} >> ${log} 2>> ${log}

find /usr/TRS/backup -name 'T*' -mtime +1 -exec rm -fr {} \; >> ${log} 2>> ${log}

Hi Mike,

Thanks for the help. I think this shld work well. Many Thanks again =)

regards
wee
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Answers to Frequently Asked Questions

Compare date in .txt with system date and remove if it's lesser than system date

I m working on shell scripting and I m stuck where in my .txt file there is column as expiry date and I need to compare that date with system date and need to remove all the rows where expiry date is less than system date and create a new .txt with update. (1 Reply)
Discussion started by: Stuti
1 Replies

2. UNIX for Beginners Questions & Answers

Compare date in .txt with system date and remove if it's lesser than system date

Can someone help me with the code wherein there is a file f1.txt with different column and 34 column have expiry date and I need to get that and compare with system date and if expiry date is <system date remove those rows and other rows should be moved to new file f2.txt . I don't want to delete... (2 Replies)
Discussion started by: Stuti
2 Replies

3. UNIX for Dummies Questions & Answers

Find the count of files by last created date based on the given date range

My unix version is IBM AIX Version 6.1 I tried google my requirement and found the below answer, find . -newermt “2012-06-15 08:13" ! -newermt “2012-06-15 18:20" But newer command is not working in AIX version 6.1 unix I have given my requirement below: Input: atr files: ... (1 Reply)
Discussion started by: yuvaa27
1 Replies

4. Shell Programming and Scripting

Shell script to compare two files of todays date and yesterday's date

hi all, How to compare two files whether they are same are not...? like i had my input files as 20141201_file.txt and 20141130_file2.txt how to compare the above files based on date .. like todays file and yesterdays file...? (4 Replies)
Discussion started by: hemanthsaikumar
4 Replies

5. Shell Programming and Scripting

How to list files that are not first two files date & last file date for every month-year?

Hi All, I need to find all files other than first two files dates & last file date for month and month/year wise list. lets say there are following files in directory Mar 19 2012 c.txt Mar 19 2012 cc.txt Mar 21 2012 d.txt Mar 22 2012 f.txt Mar 24 2012 h.txt Mar 25 2012 w.txt Feb 12... (2 Replies)
Discussion started by: Makarand Dodmis
2 Replies

6. UNIX for Dummies Questions & Answers

Remove files based on date

Hello team, I have a number of files in a folder which are dated yesterday and today.Can i remove all the files which i created today based on date?? is there any syntax for this ?? (1 Reply)
Discussion started by: kanakaraju
1 Replies

7. Shell Programming and Scripting

Remove files which created date before 10 days on HP-UX

Hi All, Could you please let me know if there is any one can help to create a shell script to remove some files which is the created date for them greate than 10 days (sysdate-10) Please try to email me on email removed Thanks in advance, Murad (1 Reply)
Discussion started by: murad_fayez
1 Replies

8. UNIX for Dummies Questions & Answers

To remove files before certain date

I juz started to pick up unix nott long. What i am gonna do here is to try and remove some files before a date. (example 1st Oct 2008) Format of files name: fileA_2008MMDD I did a ls -lrt to list all the files Followed by rm 200801** .. .. ..... (4 Replies)
Discussion started by: Attitude
4 Replies

9. Shell Programming and Scripting

Sorting Files by date and moving files in date order

I need to build a k shell script that will sort files in a directory where files appear like this "XXXX_2008021213.DAT. I need to sort by date in the filename and then move files by individual date to a working folder. concatenate the files in the working folder then start a process once... (2 Replies)
Discussion started by: rebel64
2 Replies

10. UNIX for Dummies Questions & Answers

Remove files based on date

I am trying to write a shell script that will remove files in a directory based on the date. For instance, remove all files older than yesterday. Any ideas? (4 Replies)
Discussion started by: hshapiro
4 Replies
Login or Register to Ask a Question