The usual system to use for log file rotation on Linux is logrotate the man page even includes an example entry for dealing with apache log file rotation.
Note that the logrotate example does a:
of the apache PID, not a restart of apache, perhaps you could try that in your savelog configuration.
The other idea to try is to do a copy truncate, that is copy the current log file to httpd.log.0 (having rolled the previous log files to httpd.log.n+1 first) and then do :
So that the inode number used by apache for the log file does not need to change?
Last edited by TonyFullerMalv; 04-02-2010 at 09:26 AM..
Reason: Extra ideas
Hello all.
Due to some reason I can not use HUP to rotate needed log files.
So I use the standard method:
cp $file $file.1
cat /dev/null > $file
But if Java application in this time writing the output to $file,
in the beginning of it appears many "^@^@^@^@^@^@".
How to avoid it? Or how... (6 Replies)
I have the below script to help with disk space cleanup that finds logs older than a specified number of days (say 10 days). I need it to grab "active" logs as well. Problem is an "active log" will not get archived unless I put in 0 days which I don't want to do, I need to leave the past 10 days,... (2 Replies)
Hi, I current have many apps servers running and need to create a script to rotate logs daily, and then create an autosys job to delete logs that are older than 30 days. I was thrown into this and have no idea what to do, please help me get started, thanks!
-----Post Update-----
and i will... (6 Replies)
Hi , I have cronolog (http://cronolog.org/) setup to rotate both my error and access logs, but how can I use it to rotate my mod_jk.log file. I tried different things but cant get it to work. I want to end up where all three files will be rotated daily in YYYY/MM/DD folder format. thanks (0 Replies)
Hi
I am trying to create a simple function that implements log rotation
rotatelogs () {
file_name=$1
archive_dir=$2
retention_period=$3
find $archive_dir -name $file_name -mtime +$retention_period -exec rm -f {} \;
}
Issue i am facing is the file_name would be something like my... (3 Replies)
hi folk,
need advise regarding the log rotation, i have the logadm set at
30 2 * * * /usr/sbin/logadm
so it supposed to rotate once per day, but now it rotated twice!
but someone my log will rotate at 2:30 AM, but then another 2 hours later, it creates a new and rotate a new log again,... (2 Replies)
Hi Guys,
Good morning, I just want to know and collect ideas on this one. Regarding rotation of logs as I've observed it's not consistently functioning. I have a server with 8 Partitions, each partition has a dedicated directory for the logs that is needed and I set it every 5mins (300secs) the... (1 Reply)
Need some suggestion with an old problem form a thread here:
https://www.unix.com/shell-programming-scripting/153204-multiple-not-statement-awk.html
Since my log is large, I did get help to make a line that splits the log into two partstail -f syslog | awk '!/snmpd|ntpd|reject/{print | "tee... (1 Reply)
Hi All!
I seem to have a problem with log rotation, unless I am doing something wrong, I have type the following command for testing purposes to see if the -s option works but he did not:
logadm -w /var/adm/messages -C 8 -c -s 512k -t '/var/adm/messages.$n' -z 1
the file is now at this... (7 Replies)
Discussion started by: fretagi
7 Replies
LEARN ABOUT OSX
rotatelogs
ROTATELOGS(8) rotatelogs ROTATELOGS(8)NAME
rotatelogs - Piped logging program to rotate Apache logs
SYNOPSIS
rotatelogs [ -l ] [ -f ] logfile rotationtime|filesizeM [ offset ]
SUMMARY
rotatelogs is a simple program for use in conjunction with Apache's piped logfile feature. It supports rotation based on a time interval or
maximum size of the log.
OPTIONS -l Causes the use of local time rather than GMT as the base for the interval or for strftime(3) formatting with size-based rotation.
Note that using -l in an environment which changes the GMT offset (such as for BST or DST) can lead to unpredictable results!
-f Causes the logfile to be opened immediately, as soon as rotatelogs starts, instead of waiting for the first logfile entry to be read
(for non-busy sites, there may be a substantial delay between when the server is started and when the first request is handled,
meaning that the associated logfile does not "exist" until then, which causes problems from some automated logging tools). Available
in version 2.2.9 and later.
logfile
rotationtime
The time between log file rotations in seconds. The rotation occurs at the beginning of this interval. For example, if the rotation
time is 3600, the log file will be rotated at the beginning of every hour; if the rotation time is 86400, the log file will be
rotated every night at midnight. (If no data is logged during an interval, no file will be created.)
filesizeM
The maximum file size in megabytes followed by the letter M to specify size rather than time.
offset The number of minutes offset from UTC. If omitted, zero is assumed and UTC is used. For example, to use local time in the zone UTC
-5 hours, specify a value of -300 for this argument. In most cases, -l should be used instead of specifying an offset.
EXAMPLES
CustomLog "|bin/rotatelogs /var/logs/logfile 86400" common
This creates the files /var/logs/logfile.nnnn where nnnn is the system time at which the log nominally starts (this time will always be a
multiple of the rotation time, so you can synchronize cron scripts with it). At the end of each rotation time (here after 24 hours) a new
log is started.
CustomLog "|bin/rotatelogs -l /var/logs/logfile.%Y.%m.%d 86400" common
This creates the files /var/logs/logfile.yyyy.mm.dd where yyyy is the year, mm is the month, and dd is the day of the month. Logging will
switch to a new file every day at midnight, local time.
CustomLog "|bin/rotatelogs /var/logs/logfile 5M" common
This configuration will rotate the logfile whenever it reaches a size of 5 megabytes.
ErrorLog "|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M"
This configuration will rotate the error logfile whenever it reaches a size of 5 megabytes, and the suffix to the logfile name will be cre-
ated of the form errorlog.YYYY-mm-dd-HH_MM_SS.
PORTABILITY
The following logfile format string substitutions should be supported by all strftime(3) implementations, see the strftime(3) man page for
library-specific extensions.
o %A - full weekday name (localized)
o %a - 3-character weekday name (localized)
o %B - full month name (localized)
o %b - 3-character month name (localized)
o %c - date and time (localized)
o %d - 2-digit day of month
o %H - 2-digit hour (24 hour clock)
o %I - 2-digit hour (12 hour clock)
o %j - 3-digit day of year
o %M - 2-digit minute
o %m - 2-digit month
o %p - am/pm of 12 hour clock (localized)
o %S - 2-digit second
o %U - 2-digit week of year (Sunday first day of week)
o %W - 2-digit week of year (Monday first day of week)
o %w - 1-digit weekday (Sunday first day of week)
o %X - time (localized)
o %x - date (localized)
o %Y - 4-digit year
o %y - 2-digit year
o %Z - time zone name
o %% - literal `%'
Apache HTTP Server 2010-11-06 ROTATELOGS(8)