Log File Creations for every 60 minutes


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Log File Creations for every 60 minutes
# 1  
Old 09-16-2013
Log File Creations for every 60 minutes

Hi All,

Below script will make a copy of the existing log file with the then timestamp details.

I am looking to create a copy of the existing log file for every 60 minutes and when the file limit reaches to 5, the 6th copy should overwrite the first backedup file which means all the time it should maintain the 5 copies of the original log file.

Can you please help me with the rest of the script requirement. Let me know if my requirement is not clear.

------------------------
Code:
do
log=`echo ${logfilespec}
loglist=`ls ${log}`
for log in `echo ${loglist}`
do
echo "Copying ${log}"
cp -p ${log} ${log}"_"`date +%b_%e_%Y_%T`
done
done

Note: I understand the file can be copied by scheduling using CRONTAB but this is not helpful in this scenario.

Thanks
Upendra.

Last edited by vbe; 09-16-2013 at 01:23 PM..
# 2  
Old 09-16-2013
You have a lot of useless use of backticks in there. You don't need echo in backticks to assign one variable to another!

Code:
LOGFILE="logfilename"

while true
do
        sleep $((60*60))

        for X in 6 5 4 3 2
        do
                let Y=X-1
                [ -f "$LOGFILE.$X" ] && mv "$LOGFILE.$Y" "$LOGFILE.$X"
        done

        [ -f "$LOGFILE" ] && cat "$LOGFILE" > "$LOGFILE.1" && :> "$LOGFILE"
done

# 3  
Old 09-17-2013
Thanks for your reply. Unfortunately, this logic is not working for me. Can you suggest/advise of the logic I mentioned above to the program I have written below.


Code:
do
 
log=`echo ${logfilespec}
 
loglist=`ls ${log}`for log in `echo ${loglist}`
 
do
cp -p ${log} ${log}"_"`date +%b_%e_%Y_%T`
 
done
done


Last edited by Franklin52; 09-17-2013 at 12:20 PM.. Reason: Please use code tags
# 4  
Old 09-17-2013
In what way is it 'not working'?

Your program makes next to no sense at all, I cannot correct it.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Copy last 30 minutes' contents from a log file

Hi Guys, I am writing a bash script to capture the last 30 minutes's contents from log file to a new file. This job is a scheduled job and will run every 30 minutes. The log file is db2diag.log in DB2. I am having difficulties copying the last 30 minutes's contents. Can someone please help me.... (4 Replies)
Discussion started by: naveed
4 Replies

2. Shell Programming and Scripting

Check file creation Time minutes and if file older then 5 minutes execute some stuff

Hello all, Info: System RedHat 7.5 I need to create a script that based on the creation time, if the file is older then 5 minutes then execute some stuff, if not exit. I thought to get the creation time and minutes like this. CreationTime=$(stat -c %y /tmp/test.log | awk -F" " '{ print... (3 Replies)
Discussion started by: charli1
3 Replies

3. Shell Programming and Scripting

Grep a log file for the last 5 minutes of contents every 5 minutes

Hi all, System Ubuntu 16.04.3 LTS i have the following log INFO 2019-02-07 15:13:31,099 module.py:700] default: "POST /join/8550614e-3e94-4fa5-9ab2-135eefa69c1b HTTP/1.0" 500 2042 INFO 2019-02-07 15:13:31,569 module.py:700] default: "POST /join/6cb9c452-dcb1-45f3-bcca-e33f5d450105... (15 Replies)
Discussion started by: charli1
15 Replies

4. UNIX for Beginners Questions & Answers

How to convert days hours minutes seconds to minutes?

Hi, please help with below time conversion to minutes. one column values: 2 minutes 16 seconds 420 msec 43 seconds 750 msec 0 days 3 hours 29 minutes 58 seconds 480 msec 11 seconds 150 msec I need output in minutes(total elapsed time in minutes) (2 Replies)
Discussion started by: ramu.badugula
2 Replies

5. Shell Programming and Scripting

Need help in getting the Last 30 minutes logs from the Log File

I have a log file with the below contents : log_file_updated.txt : Jul 5 03:33:06 rsyslogd: was Jul 5 03:33:09 adcsdb1 rhsmd: This system is registered. Sep 2 02:45:48 adcsdb1 UDSAgent: 2015-07-05 04:24:48.959 INFO Worker_Thread_4032813936 Accepted connection from host <unknown>... (3 Replies)
Discussion started by: rahul2662
3 Replies

6. Shell Programming and Scripting

Script to search for a pattern in 30 minutes from a log file

Hello All, I have to write a script which will search for diffrent patterns like "Struck" "Out of Memory" , etc from a log file in Linux box's. Now I will be executing a cron job to find out the results by executing the script once in every 30 minutes. suppose time is 14-04-29:05:31:09 So I... (3 Replies)
Discussion started by: Shubhasis Mathr
3 Replies

7. Shell Programming and Scripting

Scan of log file in Linux for entries in last 15 minutes for matching a pattern

Is there any way I can do scan of log file in Linux, where the log file entries for last 15 minutes can be searched for a particular pattern. The log file entries are in below format. 2014-01-27T23:08:53.924-0500 LDAP authentication error 2014-01-27T23:08:53.934-0500 LDAP authentication... (4 Replies)
Discussion started by: anandrudran
4 Replies

8. Shell Programming and Scripting

Finding errors in log file only in last 10 minutes

Hi there, I have a log file that I need to check every 10 minutes to find if a specific error exists but only in that 10 minute period. The reason is that the log is quite large, and will frequently contain these errors, so I only want alerting if it in the last 10 minutes - I don't want... (3 Replies)
Discussion started by: paul_vf
3 Replies

9. Shell Programming and Scripting

Grepping the last 30 minutes of a log file...

I need to know if anyone can assist me on how to grab the last (we'll just say "x" minutes) of a log file. How do you tell the grep command without specifying an exact window of time? (So relative instead of absolute.) Thanks, Jon (2 Replies)
Discussion started by: jtelep
2 Replies

10. Shell Programming and Scripting

get last 5 minutes' log from log file?

Hi all, I have tried to figure out a way to automatically get the last 5 minutes' log content from log file, at first, my thoughts like this, sed -n "/ $(date +\%R -d "-5 min")/,$"p syslog > newfile, but quickly I found it did not work, say I have a syslog file as following, Jul 19... (5 Replies)
Discussion started by: fedora
5 Replies
Login or Register to Ask a Question