I have few solaris-10 non global zones, where one application is writing some logs to /var/ovd/ConfigLogs. It keeps increasing all the time, as it is needed by application team as of now. I want a small script, which I can configure in cronjob, which should :
- Run every Saturday 10 PM
- Copy /var/ovd/ConfigLogs to /var/ovd/ConfigLogs.1
- Nullyfy /var/ovd/ConfigLogs
- bzip /var/ovd/ConfigLogs.1
- Next Saturday (Second cronjob), it should repeat, but should ot overwrite /var/ovd/ConfigLogs.1.bz
I am still trying to understand if logadm can help me in this. Can somebody help me for this script to put in cronjob ?
I am no Solaris expert and do not know "logadm", but this should be fairly straightforward. Some things you have to keep in mind:
1. You should - under no circumstances - change the inode of the log, otherwise processes which have still opened this file (inode) would keep writing into it. You need to "zap" the file: replace its contents with a single "EOF"-marker, provided by "/dev/null". Do it this way:
2. If you copy the file to another location this process needs time. In the meantime the process writing to the log might put something into it and you would lose that when you "zap" the file. You will have to decide how big this risk is (based on the frequency with which the logfile gets written - if there is one message per minute the risk of dropping a log message is practically negligeable, if it is 10 messages per second it is considerable). Note, though, that the risk never drops to zero, so if you need complete logs no matter what you will have to elaborate on the process.
3. How to configure a cron entry is in the manual, if you have problems with this i suggest you search for it here, there are examples galore. One thing you have to keep in mind when writing the cron job is the "Cron Error Number One".
Hi
Can you suggest some perl script. My OS is HP-UX 11.11 I want to it into a cron job.
Every night it will backup the file with that day's date and open a dummy file.
Thanks
Ash (3 Replies)
I have a shell script that will gzip/tar/archive application logs that are over 20 days old which works just fine, but I would like to convert to a Perl script. Problem is, I'm a beginner with Perl and all attempts so far have failed.
Basicaly I have a log dir /app/logs that contains several... (18 Replies)
Hello,
I only know the basic for shell programing. I need help for this, I thinks this is a basic for anyone who know a litle of shell scripting.
I need creat a script for a rotatate logs, when a filesystem is full. I have a filesystem.
The rotate consist in zip the current log (copy) and... (1 Reply)
I have a mac server. I have been having problems with my logs. My hard disk became full, when i researched into why it was full it was due to massive log files. There was barley any log rotation policies in place on the server. I tired to use logrotate. This doesn't work on my server. It is a MAC... (19 Replies)
Hello All,
I am learning unix and basically I want to rotate one of my application logs every 1 hour. I need to rotate that file every one hour. I looked in the forums and googled.. but couldn;t get proper information. Requesting you all to kindly guide me.
Our application is running on... (4 Replies)
Hi all,
Am trying to write my own log rotate script. Curremtly, what I have is as below:
#!/bin/ksh
file_to_rotate=${1}
x=${2}
while ]
do
let curr=${x}
let prev=${x}-1
if ] ; then
#echo "cp -p ${file_to_rotate} ${file_to_rotate}.${curr}"
cp -p... (7 Replies)
Hi Experts,
I have script on crontab and give output quite large. I would like to know how to create rotate log when the size of log maximum 50MB
if the test.log is 50MB then create test.0
Thanks
Edy (2 Replies)
My problem: Both access and error logs do not rotate any more and get really large.
They are located here: /srv/www/+vHost name here+/logs/
Configuration seems to be here:
/etc/logrotate.conf => looks OK, including "size 10M" to avoid large files
(/etc/logrotate.d => is empty)
manually... (4 Replies)
Appreciate help for the below issue.
Im using below code.....I dont want to attach the logs when I ran the perl twice...I just want to take backup with today date and generate new logs...What I need to do for the below scirpt..............
1)if logs exist it should move the logs with extention... (1 Reply)
Discussion started by: Sanjeev G
1 Replies
LEARN ABOUT LINUX
logsave
LOGSAVE(8) System Manager's Manual LOGSAVE(8)NAME
logsave - save the output of a command in a logfile
SYNOPSIS
logsave [ -asv ] logfile cmd_prog [ ... ]
DESCRIPTION
The logsave program will execute cmd_prog with the specified argument(s), and save a copy of its output to logfile. If the containing
directory for logfile does not exist, logsave will accumulate the output in memory until it can be written out. A copy of the output will
also be written to standard output.
If cmd_prog is a single hyphen ('-'), then instead of executing a program, logsave will take its input from standard input and save it in
logfile
logsave is useful for saving the output of initial boot scripts until the /var partition is mounted, so the output can be written to
/var/log.
OPTIONS -a This option will cause the output to be appended to logfile, instead of replacing its current contents.
-s This option will cause logsave to skip writing to the log file text which is bracketed with a control-A (ASCII 001 or Start of
Header) and control-B (ASCII 002 or Start of Text). This allows progress bar information to be visible to the user on the console,
while not being written to the log file.
-v This option will make logsave to be more verbose in its output to the user.
AUTHOR
Theodore Ts'o (tytso@mit.edu)
SEE ALSO fsck(8)E2fsprogs version 1.41.14 December 2010 LOGSAVE(8)