Logrotate to delete file which has date stamp


 
Thread Tools Search this Thread
Operating Systems Linux Red Hat Logrotate to delete file which has date stamp
# 1  
Old 06-11-2013
Logrotate to delete file which has date stamp

Hello, can someone please suggest how to create an logrotate for this scenario. Need to delete all log file which are created more than 30 days ago, and all the log file have date stamp on it.

I dont want to create a cron job for this task.
here is the example
Code:
-rw-r--r-- 1 tomcat tomcat    49203 May 18 22:22 access.2013-05-18.log
-rw-r--r-- 1 tomcat tomcat    42702 May 19 23:59 access.2013-05-19.log
-rw-r--r-- 1 tomcat tomcat   396889 May 20 23:21 access.2013-05-20.log
-rw-r--r-- 1 tomcat tomcat   380026 May 21 23:26 access.2013-05-21.log
-rw-r--r-- 1 tomcat tomcat   255419 May 22 23:37 access.2013-05-22.log
-rw-r--r-- 1 tomcat tomcat   412441 May 23 23:12 access.2013-05-23.log
-rw-r--r-- 1 tomcat tomcat   236075 May 24 23:54 access.2013-05-24.log
-rw-r--r-- 1 tomcat tomcat    55490 May 25 23:55 access.2013-05-25.log
-rw-r--r-- 1 tomcat tomcat    41054 May 26 23:50 access.2013-05-26.log
-rw-r--r-- 1 tomcat tomcat   258924 May 27 23:18 access.2013-05-27.log
-rw-r--r-- 1 tomcat tomcat   258924 May 27 23:18 access.log

Thanks,
# 2  
Old 06-11-2013
Check out the 'find' command, This is a simple example:
Code:
** Log files
May  6 12:47 access.2013-05-06.log
May  7 12:47 access.2013-05-07.log
May  8 12:47 access.2013-05-08.log
May  9 12:47 access.2013-05-09.log
May 10 12:47 access.2013-05-10.log
May 11 12:47 access.2013-05-11.log
May 12 12:47 access.2013-05-12.log
May 13 12:47 access.2013-05-13.log
May 14 12:47 access.2013-05-14.log
May 15 12:47 access.2013-05-15.log

** Find/list log files >30 days old
$ find . -mtime  +30 -name "access.*.log" -print
./access.2013-05-06.log
./access.2013-05-07.log
./access.2013-05-08.log
./access.2013-05-09.log
./access.2013-05-10.log
./access.2013-05-11.log

** Find/list/remove log files >30 days old
$ find . -mtime  +30 -name "access.*.log" -exec rm {} \;  -print
./access.2013-05-06.log
./access.2013-05-07.log
./access.2013-05-08.log
./access.2013-05-09.log
./access.2013-05-10.log
./access.2013-05-11.log

** Log files left
May 12 12:47 access.2013-05-12.log
May 13 12:47 access.2013-05-13.log
May 14 12:47 access.2013-05-14.log
May 15 12:47 access.2013-05-15.log

# 3  
Old 06-11-2013
I haven't tested but create /etc/logrotate.d/access

Populate it with

Code:
var/log/access.log {
    daily
    rotate 30
    create 0644 tomcat tomcat
}

And then restart rsyslogd. If your /etc/logrotate.conf is default then I think that should work. But of course test.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Adding Date Stamp To File Name With sed

trying to add a date stamp to the name of a file with sed. can't seem to comment out the date command so that sed does not only see it as a literal text string this is what I'm trying ls file.txt | sed 's/file.txt/file\/`date`\/.txt/g'but it's giving this file/`date`/.txtlooking for something... (1 Reply)
Discussion started by: jimmyf
1 Replies

2. Shell Programming and Scripting

If(Condition) Rename a file with (Date+Time) Stamp

Hi! Please see our current script: #!/usr/bin/ksh if (egrep "This string is found in the log" /a01/bpm.log) then mailx -s "Error from log" me@email.com, him@email.com </a01/bpm.log fi To the above existing script, we need to add the following change: 1) After finding the string,... (7 Replies)
Discussion started by: atechcorp
7 Replies

3. Shell Programming and Scripting

Set date and time stamp of one file to another

Hi I use "touch -t xxxxxxxx" command to set date/time stamp of a file. My requirement is to read the date/time stamp of a file and apply it to another file. Is there anyway to do it simple instead of manually taking date/stamp of first file? TIA Prvn (2 Replies)
Discussion started by: prvnrk
2 Replies

4. UNIX for Dummies Questions & Answers

sed a file and maintain date stamp and permissions

I need to alter a file. I'm using sed then passing output to temp file then using touch -r to maintain the date but the permissions do not get preserved How can I sed a file and maintain date and permissions currently it's preserving the date but the permissions revert back to the... (3 Replies)
Discussion started by: andyatit
3 Replies

5. Shell Programming and Scripting

copying a file without changing date stamp.

Hi, I am using the below copy command, to copy the file sbn to sbn1, cp sbn sbn1 but its changing the date stamp of file sbn1, but i dont want to change the date stamp of sbn1. Could you please help me out in this. (3 Replies)
Discussion started by: shivanete
3 Replies

6. UNIX for Dummies Questions & Answers

Need to delete the files based on the time stamp of the file

Hi Everyone, I want to delete some files in a path based on the time stamp of the file that is i want to delete the file once in a month. Can any one help me on this? Thanks in advance (2 Replies)
Discussion started by: samudha
2 Replies

7. UNIX for Dummies Questions & Answers

How to Zip the files from date Stamp to end date Stamp

Hi, I need to zip the list of files using from date Stamp to end date Stamp, How can I filter and make FromDate_EndDate.gzip? any idea? (1 Reply)
Discussion started by: redlotus72
1 Replies

8. Shell Programming and Scripting

Date Stamp on new file

Dear Gurus, I'm trying to move a number of files from one directory to another directory with a new date stamp. This is my script: #! /bin/csh Today_Date=`date +%Y%M%D` mv /usr/TRS/data/TS* /usr/TRS/backup/TS*.${Today_Date} when i run the script i'm getting the following errors: mv:... (14 Replies)
Discussion started by: lweegp
14 Replies

9. Shell Programming and Scripting

creating a new file with date stamp

Hi, can any one tell me how to achieve this...I will input the path and file name and it should rename it to current date and time... this is what I tried... #! /usr/bin/sh set -x cd /info_stg/vul/Scripts TODAY_DATE_TIME=`date +%Y%m%d%H%M%S` IN_FILE_PATH=`cat file.txt | awk -F, '{... (2 Replies)
Discussion started by: mgirinath
2 Replies

10. UNIX for Dummies Questions & Answers

File date and time stamp

I have to capture the creation date and time stamp for a file. The ls command doesn't list all the required information. I need year, month, day, hour, minute and second. Any ideas... (1 Reply)
Discussion started by: Xenon
1 Replies
Login or Register to Ask a Question