From 6beeb1b708550be0d4a53b272283e17e5e35fe17 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 17:01:30 +0200 Subject: Adding upstream version 2.4.57. Signed-off-by: Daniel Baumann --- docs/manual/programs/rotatelogs.html.en | 321 ++++++++++++++++++++++++++++++++ 1 file changed, 321 insertions(+) create mode 100644 docs/manual/programs/rotatelogs.html.en (limited to 'docs/manual/programs/rotatelogs.html.en') diff --git a/docs/manual/programs/rotatelogs.html.en b/docs/manual/programs/rotatelogs.html.en new file mode 100644 index 0000000..e768ae8 --- /dev/null +++ b/docs/manual/programs/rotatelogs.html.en @@ -0,0 +1,321 @@ + + + + + +rotatelogs - Piped logging program to rotate Apache logs - Apache HTTP Server Version 2.4 + + + + + + + +
<-
+

rotatelogs - Piped logging program to rotate Apache logs

+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
+ +

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.

+
+ +
top
+
+

Synopsis

+ +

rotatelogs + [ -l ] + [ -L linkname ] + [ -p program ] + [ -f ] + [ -D ] + [ -t ] + [ -v ] + [ -e ] + [ -c ] + [ -n number-of-files ] + logfile + rotationtime|filesize(B|K|M|G) + [ offset ]

+
top
+
+

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.
+ +
-L linkname
+

Causes a hard link to be made from the current logfile +to the specified link name. This can be used to watch +the log continuously across rotations using a command like +tail -F linkname.

+

If the linkname is not an absolute +path, it is relative to rotatelogs' working directory, +which is the ServerRoot when +rotatelogs is run by the server. +

+
+ +
-p program
+ +
If given, rotatelogs will execute the specified +program every time a new log file is opened. The filename of the +newly opened file is passed as the first argument to the program. If +executing after a rotation, the old log file is passed as the second +argument. rotatelogs does not wait for the specified +program to terminate before continuing to operate, and will not log +any error code returned on termination. The spawned program uses the +same stdin, stdout, and stderr as rotatelogs itself, and also inherits +the environment.
+ +
-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)
+ +
-D
+
Creates the parent directories of the path that the log file will be +placed in if they do not already exist. This allows strftime(3) +formatting to be used in the path and not just the filename.
+ +
-t
+
Causes the logfile to be truncated instead of rotated. This is +useful when a log is processed in real time by a command like tail, +and there is no need for archived data. No suffix will be added to +the filename, however format strings containing '%' characters +will be respected. +
+ +
-T
+
Causes all but the initial logfile to be truncated when opened. +This is useful when the format string contains something that will +loop around, such as the day of the month. Available in 2.4.56 and later. +
+ + +
-v
+
Produce verbose output on STDERR. The output contains +the result of the configuration parsing, and all file open and +close actions.
+ +
-e
+
Echo logs through to stdout. Useful when logs need to be further +processed in real time by a further tool in the chain.
+ +
-c
+
Create log file for each interval, even if empty.
+ +
-n number-of-files
+
Use a circular list of filenames without timestamps. This option overwrites +log files at startup and during rotation. With -n 3, the series of log +files opened would be "logfile", "logfile.1", "logfile.2", then overwriting +"logfile". +
+When this program first opens "logfile", the file will only be truncated if -t is also provided. Every subsequent rotation will +always begin with truncation of the target file. For size based rotation without -t and existing log files in place, +this option may result in unintuitive behavior such as initial log entries being sent to "logfile.1", and entries in "logfile.1" not being preserved +even if later "logfile.n" have not yet been used. +
+Available in 2.4.5 and later.
+ +
logfile
+ +

The path plus basename of the logfile. If logfile +includes any '%' characters, it is treated as a format string for +strftime(3). Otherwise, the suffix +.nnnnnnnnnn is automatically added and is the time in +seconds (unless the -t option is used). Both formats compute the +start time from the beginning of the current period. For example, +if a rotation time of 86400 is specified, the hour, minute, and +second fields created from the strftime(3) format will +all be zero, referring to the beginning of the current 24-hour +period (midnight).

+

When using strftime(3) filename formatting, +be sure the log file format has enough granularity to produce +a different file name each time the logs are rotated. Otherwise +rotation will overwrite the same file instead of starting a new +one. For example, if logfile was +/var/log/errorlog.%Y-%m-%d with log rotation at 5 +megabytes, but 5 megabytes was reached twice in the same day, the +same log file name would be produced and log rotation would keep +writing to the same file.

+

If the logfile is not an absolute +path, it is relative to rotatelogs' working directory, +which is the ServerRoot when +rotatelogs is run by the server. +

+
+ +
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.)
+ +
filesize(B|K|M|G)
+ +
The maximum file size in followed by exactly one of the letters +B (Bytes), K (KBytes), M (MBytes) +or G (GBytes). +

+When time and size are specified, the size must be given after the time. +Rotation will occur whenever either time or size limits are reached. +

+
+ +
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.
+ +
+
top
+
+

Examples

+ +
CustomLog "|bin/rotatelogs /var/log/logfile 86400" common
+
+ +

This creates the files /var/log/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/log/logfile.%Y.%m.%d 86400" common
+
+ +

This creates the files /var/log/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/log/logfile 5M" common
+
+ +

This configuration will rotate the logfile whenever it reaches + a size of 5 megabytes.

+ +
ErrorLog "|bin/rotatelogs /var/log/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 created of the form + errorlog.YYYY-mm-dd-HH_MM_SS.

+ +
CustomLog "|bin/rotatelogs -t /var/log/logfile 86400" common
+
+ +

This creates the file /var/log/logfile, truncating the file at + startup and then truncating the file once per day. It is expected + in this scenario that a separate process (such as tail) would + process the file in real time.

+ +
CustomLog "|bin/rotatelogs -T /var/log/logfile.%d 86400" common
+
+ +

If the server is started (or restarted) on the first of the month, this +appends to /var/log/logfile.01. When a log entry is written on the +second of the month, /var/log/logfile.02 is truncated and new entries +will be added to the top. This example keeps approximately 1 months worth of +logs without external maintenance.

+ +
top
+
+

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.

+ + + + + + + + + + + + + + + + + + + + + + + +
%Afull weekday name (localized)
%a3-character weekday name (localized)
%Bfull month name (localized)
%b3-character month name (localized)
%cdate and time (localized)
%d2-digit day of month
%H2-digit hour (24 hour clock)
%I2-digit hour (12 hour clock)
%j3-digit day of year
%M2-digit minute
%m2-digit month
%pam/pm of 12 hour clock (localized)
%S2-digit second
%U2-digit week of year +(Sunday first day of week)
%W2-digit week of year +(Monday first day of week)
%w1-digit weekday +(Sunday first day of week)
%Xtime (localized)
%xdate (localized)
%Y4-digit year
%y2-digit year
%Ztime zone name
%%literal `%'
+ +
+
+

Available Languages:  en  | + fr  | + ko  | + tr 

+
top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file -- cgit v1.2.3