diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /upstream/fedora-rawhide/man8/logrotate.8 | |
parent | Initial commit. (diff) | |
download | manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip |
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/fedora-rawhide/man8/logrotate.8')
-rw-r--r-- | upstream/fedora-rawhide/man8/logrotate.8 | 787 |
1 files changed, 787 insertions, 0 deletions
diff --git a/upstream/fedora-rawhide/man8/logrotate.8 b/upstream/fedora-rawhide/man8/logrotate.8 new file mode 100644 index 00000000..34dc8f60 --- /dev/null +++ b/upstream/fedora-rawhide/man8/logrotate.8 @@ -0,0 +1,787 @@ +.TH LOGROTATE 8 "3.21.0" "Linux" "System Administrator's Manual" +.\" Per groff_man(7), the TQ macro should be copied from an-ext.tmac when +.\" not running under groff. That's not quite right; not all groff +.\" installations include this macro. So bring it in with another name +.\" unconditionally. +.\" Continuation line for .TP header. +.de tq +. br +. ns +. TP \\$1\" no doublequotes around argument! +.. +.\} +.SH NAME + +logrotate \(hy rotates, compresses, and mails system logs + +.SH SYNOPSIS + +\fBlogrotate\fR +\fR[\fB\-\-force\fR] +\fR[\fB\-\-debug\fR] +\fR[\fB\-\-state\fR \fIfile\fR] +\fR[\fB\-\-skip-state-lock\fR] +\fR[\fB\-\-wait-for-state-lock\fR] +\fR[\fB\-\-verbose\fR] +\fR[\fB\-\-log\fR \fIfile\fR] +\fR[\fB\-\-mail\fR \fIcommand\fR] +\fIconfig_file\fR +\fR[\fIconfig_file2 ...\fR] + +.SH DESCRIPTION + +\fBlogrotate\fR is designed to ease administration of systems that generate +large numbers of log files. It allows automatic rotation, compression, +removal, and mailing of log files. Each log file may be handled daily, +weekly, monthly, or when it grows too large. +.P +Normally, \fBlogrotate\fR is run as a daily cron job. It will not modify +a log more than once in one day unless the criterion for that log is +based on the log's size and \fBlogrotate\fR is being run more than once +each day, or unless the \fB\-f\fR or \fB\-\-force\fR option is used. +.P +Any number of config files may be given on the command line. Later config +files may override the options given in earlier files, so the order +in which the \fBlogrotate\fR config files are listed is important. +Normally, a single config file which includes any other config files +which are needed should be used. See below for more information on how +to use the \fBinclude\fR directive to accomplish this. If a directory +is given on the command line, every file in that directory is used as +a config file. +.P +If no command line arguments are given, \fBlogrotate\fR will print +version and copyright information, along with a short usage summary. If +any errors occur while rotating logs, \fBlogrotate\fR will exit with +non-zero status, although the state file will be updated. + +.SH OPTIONS + +.TP +\fB\-f\fR, \fB\-\-force\fR +Tells \fBlogrotate\fR to force the rotation, even if it doesn't think +this is necessary. Sometimes this is useful after adding new entries to +a \fBlogrotate\fR config file, or if old log files have been removed +by hand, as the new files will be created, and logging will continue +correctly. + +.TP +\fB\-d\fR, \fB\-\-debug\fR +Turn on debug mode, which means that no changes are made to the logs and the +\fBlogrotate\fR state file is not updated. Only debug messages are printed. + +.TP +\fB\-s\fR, \fB\-\-state\fR \fIstatefile\fR +Tells \fBlogrotate\fR to use an alternate state file. This is useful +if \fBlogrotate\fR is being run as a different user for various sets of +log files. To prevent parallel execution \fBlogrotate\fR by default +acquires a lock on the state file, if it cannot be acquired \fBlogrotate\fR +will exit with value 3. The default state file is \fI/var/lib/logrotate/logrotate.status\fR. +If \fI/dev/null\fR is given as the state file, then \fBlogrotate\fR will +not try to lock or write the state file. + +.TP +\fB\-\-skip-state-lock\fR +Do not lock the state file, for example if locking is unsupported or prohibited. + +.TP +\fB\-\-wait-for-state-lock\fR +Wait until lock on the state file is released by another logrotate process. +This option may cause logrotate to wait indefinitely. Use with caution. + +.TP +\fB\-v\fR, \fB\-\-verbose\fR +Turns on verbose mode, for example to display messages during rotation. + +.TP +\fB\-l\fR, \fB\-\-log\fR \fIfile\fR +Tells \fBlogrotate\fR to log verbose output into the log_file. The verbose +output logged to that file is the same as when running \fBlogrotate\fR with +\fB-v\fR switch. The log file is overwritten on every \fBlogrotate\fR +execution. + +.TP +\fB\-m\fR, \fB\-\-mail\fR \fIcommand\fR +Tells \fBlogrotate\fR which command to use when mailing logs. This +command should accept the following arguments: +.IP +1) the subject of the message given with '-s subject' +.br +2) the recipient. +.IP +The command must then read a message on standard input +and mail it to the recipient. The default mail command is +\fI/bin/mail\fR. + +.TP +\fB\-\-usage\fR +Prints a short usage message. + +.TP +\fB\-?\fR, \fB\-\-help\fR +Prints help message. + +.TP +\fB\-\-version\fR +Display version information. + + +.SH CONFIGURATION FILE + +\fBlogrotate\fR reads everything about the log files it should be handling +from the series of configuration files specified on the command line. Each +configuration file can set global options (local definitions override +global ones, and later definitions override earlier ones) and specify +logfiles to rotate. Global options do not affect preceding include +directives. A simple configuration file looks like this: + +.nf +.ta +8n +# sample logrotate configuration file +compress + +/var/log/messages { + rotate 5 + weekly + postrotate + /usr/bin/killall \-HUP syslogd + endscript +} + +"/var/log/httpd/access.log" /var/log/httpd/error.log { + rotate 5 + mail recipient@example.org + size 100k + sharedscripts + postrotate + /usr/bin/killall \-HUP httpd + endscript +} + +/var/log/news/* { + monthly + rotate 2 + olddir /var/log/news/old + missingok + sharedscripts + postrotate + kill \-HUP $(cat /var/run/inn.pid) + endscript + nocompress +} + +~/log/*.log {} + +.fi + +.PP +The first few lines set global options; in the example, logs are +compressed after they are rotated. Note that comments may appear +anywhere in the config file as long as the first non-whitespace +character on the line is a \fB#\fR. + +Values are separated from directives by whitespace and/or an optional =. +Numbers must be specified in a format understood by \fBstrtoul\fR(3). + +The next section of the config file defines how to handle the log file +\fI/var/log/messages\fR. The log will go through five weekly rotations before +being removed. After the log file has been rotated (but before the old +version of the log has been compressed), the command +\fI/usr/bin/killall \-HUP syslogd\fR will be executed. + +The next section defines the parameters for both +\fI/var/log/httpd/access.log\fR and \fI/var/log/httpd/error.log\fR. +Each is rotated whenever it grows over 100\ kilobytes in size, and the old logs +files are mailed (uncompressed) to recipient@\:example.org after going through 5 +rotations, rather than being removed. The \fBsharedscripts\fR means that +the \fBpostrotate\fR script will only be run once (after the old logs have +been compressed), not once for each log which is rotated. +Note that log file names may be enclosed in +quotes (and that quotes are required if the name contains spaces). +Normal shell quoting rules apply, with \fB'\fR, \fB"\fR, and \fB\e\fR +characters supported. + +The next section defines the parameters for all of the files in +\fI/var/log/news\fR. Each file is rotated on a monthly basis. + +The last section uses tilde expansion to rotate log files in the home +directory of the current user. This is only available, if your glob +library supports tilde expansion. GNU glob does support this. + +Please use wildcards with caution. If you specify *, \fBlogrotate\fR will +rotate all files, including previously rotated ones. A way around this +is to use the \fBolddir\fR directive or a more exact wildcard (such as *.log). + +Please note, by default when using \fBsystemd\fR(1), the option +\fIProtectSystem=full\fR is set in the \fIlogrotate.service\fR file. +This prevents \fBlogrotate\fR from modifying logs in \fI/etc\fR +and \fI/usr\fR. + +Here is more information on the directives which may be included in +a \fBlogrotate\fR configuration file: + +.SH CONFIGURATION FILE DIRECTIVES +These directives may be included in a \fBlogrotate\fR configuration file: + +.SS Rotation + +.TP +\fBrotate \fIcount\fR +Log files are rotated \fIcount\fR times before being removed or mailed to the +address specified in a \fBmail\fR directive. If \fIcount\fR is 0, old versions +are removed rather than rotated. If \fIcount\fR is \-1, old logs are not +removed at all, except they are affected by \fBmaxage\fR (use with caution, may +waste performance and disk space). Default is 0. + +.TP +\fBolddir \fIdirectory\fR +Logs are moved into \fIdirectory\fR for rotation. The \fIdirectory\fR must be +on the same physical device as the log file being rotated, unless \fBcopy\fR, +\fBcopytruncate\fR or \fBrenamecopy\fR option is used. The \fIdirectory\fR +is assumed to be relative to the directory holding the log file +unless an absolute path name is specified. When this option is used all +old versions of the log end up in \fIdirectory\fR. This option may be +overridden by the \fBnoolddir\fR option. + +.TP +\fBnoolddir\fR +Logs are rotated in the directory they normally reside in (this +overrides the \fBolddir\fR option). + +.TP +\fBsu \fIuser\fR \fIgroup\fR +Rotate log files set under this user and group instead of using default +user/group (usually root). \fIuser\fR specifies the user used for +rotation and \fIgroup\fR specifies the group used for rotation (see the +section \fBUSER AND GROUP\fR for details). If the +user/group you specify here does not have sufficient privilege to make +files with the ownership you've specified in a \fBcreate\fR directive, +it will cause an error. If \fBlogrotate\fR runs with root privileges, it is +recommended to use the \fBsu\fR directive to rotate files in directories +that are directly or indirectly in control of non-privileged users. + +.SS Frequency + +.TP +\fBhourly\fR +Log files are rotated every hour. Note that usually \fBlogrotate\fR is +configured to be run by cron daily (or by \fIlogrotate.timer\fR when using +\fBsystemd\fR(1)). You have to change this configuration and run +\fBlogrotate\fR hourly to be able to really rotate logs hourly. + +.TP +\fBdaily\fR +Log files are rotated every day. + +.TP +\fBweekly\fR [\fIweekday\fR] +Log files are rotated once each \fIweekday\fR, or if the date is advanced by at +least 7 days since the last rotation (while ignoring the exact time). The +\fIweekday\fR interpretation is following: 0 means Sunday, 1 means Monday, +\&.\|.\|.\|\&, 6 means Saturday; the special value 7 means each 7 days, +irrespectively of weekday. +Defaults to 0 if the \fIweekday\fR argument is omitted. + +.TP +\fBmonthly\fR +Log files are rotated the first time \fBlogrotate\fR is run in a month +(this is normally on the first day of the month). + +.TP +\fByearly\fR +Log files are rotated if the current year is not the same as the last rotation. + +.TP +\fBsize \fIsize\fR +Log files are rotated only if they grow bigger than \fIsize\fR bytes. If +\fIsize\fR is followed by \fIk\fR, the size is assumed to be in kilobytes. +If \fIM\fR is used, the size is in megabytes, and if \fIG\fR is used, the +size is in gigabytes. So \fIsize 100\fR, \fIsize 100k\fR, \fIsize 100M\fR and +\fIsize 100G\fR are all valid. This option is mutually exclusive with the time +interval options, and it causes log files to be rotated without regard for the +last rotation time, if specified after the time criteria (the last specified +option takes the precedence). + +.SS File selection + +.TP +\fBmissingok\fR +If the log file is missing, go on to the next one without issuing an error +message. See also \fBnomissingok\fR. + +.TP +\fBnomissingok\fR +If a log file does not exist, issue an error. This is the default. + +.TP +\fBignoreduplicates\fR +Ignore any following matches of a log file. + +.TP +\fBifempty\fR +Rotate the log file even if it is empty, overriding the \fBnotifempty\fR +option (\fBifempty\fR is the default). + +.TP +\fBnotifempty\fR +Do not rotate the log if it is empty (this overrides the \fBifempty\fR option). + +.TP +\fBminage\fR \fIcount\fR +Do not rotate logs which are less than <count> days old. + +.TP +\fBmaxage\fR \fIcount\fR +Remove rotated logs older than <count> days. The age is only checked +if the logfile is to be rotated. \fBrotate \-1\fR does not hinder removal. +The files are mailed to the configured address if \fBmaillast\fR and +\fBmail\fR are configured. + +.TP +\fBminsize\fR \fIsize\fR +Log files are rotated when they grow bigger than \fIsize\fR bytes, but not +before the additionally specified time interval (\fBdaily\fR, \fBweekly\fR, +\fBmonthly\fR, or \fByearly\fR). The related \fBsize\fR option is similar +except that it is mutually exclusive with the time interval options, and it +causes log files to be rotated without regard for the last rotation time, +if specified after the time criteria (the last specified option takes the +precedence). When \fBminsize\fR is used, both the size and timestamp of a +log file are considered. + +.TP +\fBmaxsize\fR \fIsize\fR +Log files are rotated when they grow bigger than \fIsize\fR bytes even +before the additionally specified time interval (\fBdaily\fR, \fBweekly\fR, +\fBmonthly\fR, or \fByearly\fR). The related \fBsize\fR option is similar +except that it is mutually exclusive with the time interval options, and it +causes log files to be rotated without regard for the last rotation time, +if specified after the time criteria (the last specified option takes the +precedence). When \fBmaxsize\fR is used, both the size and timestamp of a +log file are considered. + +.TP +\fBtabooext\fR [+] \fIlist\fR +The current taboo extension list is changed (see the \fBinclude\fR directive +for information on the taboo extensions). If a + precedes the list of +extensions, the current taboo extension list is augmented, otherwise it +is replaced. At startup, the taboo extension list +.IR ,v , +.IR .cfsaved , +.IR .disabled , +.IR .dpkg\-bak , +.IR .dpkg\-del , +.IR .dpkg\-dist , +.IR .dpkg\-new , +.IR .dpkg\-old , +.IR .rhn\-cfg\-tmp\-* , +.IR .rpmnew , +.IR .rpmorig , +.IR .rpmsave , +.IR .swp , +.IR .ucf\-dist , +.IR .ucf\-new , +.IR .ucf\-old , +.I ~ + +.TP +\fBtaboopat\fR [+] \fIlist\fR +The current taboo glob pattern list is changed (see the \fBinclude\fR directive +for information on the taboo extensions and patterns). If a + precedes the list +of patterns, the current taboo pattern list is augmented, otherwise it +is replaced. At startup, the taboo pattern list is empty. + +.SS Files and Folders + +.TP +\fBcreate \fImode\fR \fIowner\fR \fIgroup\fR, \fBcreate \fIowner\fR \fIgroup\fR +Immediately after rotation (before the \fBpostrotate\fR script is run) +the log file is created (with the same name as the log file just rotated). +\fImode\fR specifies the mode for the log file in octal (the same +as \fBchmod\fR(2)), \fIowner\fR specifies the user who will own the +log file, and \fIgroup\fR specifies the group the log file will belong +to (see the section \fBUSER AND GROUP\fR for details). +Any of the log file attributes may be omitted, in which case those +attributes for the new file will use the same values as the original log +file for the omitted attributes. This option can be disabled using the +\fBnocreate\fR option. + +.TP +\fBnocreate\fR +New log files are not created (this overrides the \fBcreate\fR option). + +.TP +\fBcreateolddir \fImode\fR \fIowner\fR \fIgroup\fR +If the directory specified by \fBolddir\fR directive does not exist, it is +created. \fImode\fR specifies the mode for the \fBolddir\fR directory +in octal (the same as \fBchmod\fR(2)), \fIowner\fR specifies the user +who will own the \fBolddir\fR directory, and \fIgroup\fR specifies the group +the \fBolddir\fR directory will belong to (see the section \fBUSER AND GROUP +\fR for details). This option can be disabled using +the \fBnocreateolddir\fR option. + +.TP +\fBnocreateolddir\fR +\fBolddir\fR directory is not created by \fBlogrotate\fR when it does not exist. + +.TP +\fBcopy\fR +Make a copy of the log file, but don't change the original at all. +This option can be used, for instance, to make a snapshot of the current +log file, or when some other utility needs to truncate or parse the file. +When this option is used, the \fBcreate\fR option will have no effect, +as the old log file stays in place. The \fBcopy\fR option allows storing +rotated log files on the different devices using \fBolddir\fR directive. + +.TP +\fBnocopy\fR +Do not copy the original log file and leave it in place. +(this overrides the \fBcopy\fR option). + +.TP +\fBcopytruncate\fR +Truncate the original log file to zero size in place after creating a copy, +instead of moving the old log file and optionally creating a new one. +It can be used when some program cannot be told to close its logfile +and thus might continue writing (appending) to the previous log file forever. +Note that there is a very small time slice between copying the file and +truncating it, so some logging data might be lost. +When this option is used, the \fBcreate\fR option will have no effect, +as the old log file stays in place. The \fBcopytruncate\fR option allows +storing rotated log files on the different devices using \fBolddir\fR +directive. The \fBcopytruncate\fR option implies \fBnorenamecopy\fR. + +.TP +\fBnocopytruncate\fR +Do not truncate the original log file in place after creating a copy +(this overrides the \fBcopytruncate\fR option). + +.TP +\fBrenamecopy\fR +Log file is renamed to temporary filename in the same directory by adding +".tmp" extension to it. After that, \fBpostrotate\fR script is run +and log file is copied from temporary filename to final filename. In the end, +temporary filename is removed. The \fBrenamecopy\fR option allows storing +rotated log files on the different devices using \fBolddir\fR directive. +The \fBrenamecopy\fR option implies \fBnocopytruncate\fR. + +.TP +\fBnorenamecopy\fR +Do not rename and copy the original log file +(this overrides the \fBrenamecopy\fR option). + +.TP +\fBshred\fR +Delete log files using \fBshred\fR \-u instead of unlink(). This should +ensure that logs are not readable after their scheduled deletion; this is +off by default. See also \fBnoshred\fR. + +.TP +\fBnoshred\fR +Do not use \fBshred\fR when deleting old log files. See also \fBshred\fR. + +.TP +\fBshredcycles\fR \fIcount\fR +Asks GNU \fBshred\fR(1) to overwrite log files \fBcount\fR times before +deletion. Without this option, \fBshred\fR's default will be used. + +.TP +\fBallowhardlink\fR +Rotate files with multiple hard links; this is off by default. The target file +might get emptied, e.g. with \fBshred\fR or \fBcopytruncate\fR. Use with +caution, especially when the log files are rotated as root. + +.TP +\fBnoallowhardlink\fR +Do not rotate files with multiple hard links. See also \fBallowhardlink\fR. + +.SS Compression + +.TP +\fBcompress\fR +Old versions of log files are compressed with \fBgzip\fR(1) by default. +See also \fBnocompress\fR. + +.TP +\fBnocompress\fR +Old versions of log files are not compressed. See also \fBcompress\fR. + +.TP +\fBcompresscmd\fR +Specifies which command to use to compress log files. The default is +\fBgzip\fR(1). See also \fBcompress\fR. + +.TP +\fBuncompresscmd\fR +Specifies which command to use to uncompress log files. The default is +\fBgunzip\fR(1). + +.TP +\fBcompressext\fR +Specifies which extension to use on compressed logfiles, if compression +is enabled. The default follows that of the configured compression +command. + +.TP +\fBcompressoptions\fR +Command line options may be passed to the compression program, if one is +in use. The default, for \fBgzip\fR(1), is "\-6" (biased towards high +compression at the expense of speed). +If you use a different compression command, you may need to change the +\fBcompressoptions\fR to match. + +.TP +\fBdelaycompress\fR +Postpone compression of the previous log file to the next rotation cycle. +This only has effect when used in combination with \fBcompress\fR. +It can be used when some program cannot be told to close its logfile +and thus might continue writing to the previous log file for some time. + +.TP +\fBnodelaycompress\fR +Do not postpone compression of the previous log file to the next rotation cycle +(this overrides the \fBdelaycompress\fR option). + +.SS Filenames + +.TP +\fBextension \fIext\fR +Log files with \fIext\fR extension can keep it after the rotation. +If compression is used, the compression extension (normally \fI.gz\fR) +appears after \fIext\fR. For example you have a logfile named mylog.foo +and want to rotate it to mylog.1.foo.gz instead of mylog.foo.1.gz. + +.TP +\fBaddextension \fIext\fR +Log files are given the final extension \fIext\fR after rotation. If +the original file already ends with \fIext\fR, the extension is not +duplicated, but merely moved to the end, that is both \fBfilename\fR and +\fBfilename\fIext\fR would get rotated to filename.1\fIext\fR. If +compression is used, the compression extension (normally \fB.gz\fR) +appears after \fIext\fR. + +.TP +\fBstart \fIcount\fR +This is the number to use as the base for rotation. For example, if +you specify 0, the logs will be created with a .0 extension as they are +rotated from the original log files. If you specify 9, log files will +be created with a .9, skipping 0\(en8. Files will still be rotated the +number of times specified with the \fBrotate\fR directive. + +.TP +\fBdateext\fR +Archive old versions of log files adding a date extension like YYYYMMDD +instead of simply adding a number. The extension may be configured using +the \fBdateformat\fR and \fBdateyesterday\fR options. + +.TP +\fBnodateext\fR +Do not archive old versions of log files with date extension +(this overrides the \fBdateext\fR option). + +.TP +\fBdateformat\fR \fIformat_string\fR +Specify the extension for \fBdateext\fR using the notation similar to +\fBstrftime\fR(3) function. Only %Y %m %d %H %M %S %V and %s specifiers are +allowed. +The default value is \-%Y%m%d except hourly, which uses \-%Y%m%d%H as default +value. Note that also the character separating log name from the extension is +part of the dateformat string. The system clock must be set past Sep 9th 2001 +for %s to work correctly. +Note that the datestamps generated by this format must be lexically sortable +(that is first the year, then the month then the day. For example 2001/12/01 is +ok, but 01/12/2001 is not, since 01/11/2002 would sort lower while it is later). +This is because when using the \fBrotate\fR option, \fBlogrotate\fR sorts all +rotated filenames to find out which logfiles are older and should be removed. + +.TP +\fBdateyesterday\fR +Use yesterday's instead of today's date to create the \fBdateext\fR +extension, so that the rotated log file has a date in its name that is +the same as the timestamps within it. + +.TP +\fBdatehourago\fR +Use hour ago instead of current date to create the \fBdateext\fR extension, +so that the rotated log file has a hour in its name that is the same as the +timestamps within it. Useful with rotate \fBhourly\fR. + +.SS Mail + +.TP +\fBmail \fIaddress\fR +When a log is rotated out of existence, it is mailed to \fIaddress\fR. If +no mail should be generated by a particular log, the \fBnomail\fR directive +may be used. + +.TP +\fBnomail\fR +Do not mail old log files to any address. + +.TP +\fBmailfirst\fR +When using the \fBmail\fR command, mail the just-rotated file, +instead of the about-to-expire file. + +.TP +\fBmaillast\fR +When using the \fBmail\fR command, mail the about-to-expire file, +instead of the just-rotated file (this is the default). + +.SS Additional config files + +.TP +\fBinclude \fIfile_or_directory\fR +Reads the file given as an argument as if it was included inline +where the \fBinclude\fR directive appears. If a directory is given, +most of the files in that directory are read in alphabetic order +before processing of the including file continues. The only files +which are ignored are files which are not regular files (such as +directories and named pipes) and files whose names end with one of +the taboo extensions or patterns, as specified by the \fBtabooext\fR +or \fBtaboopat\fR directives, respectively. The given path may +start with \fB~/\fR to make it relative to the home directory of +the executing user. For security reasons configuration files must +not be group-writable nor world-writable. + +.SS Scripts + +.TP +\fBsharedscripts\fR +Normally, \fBprerotate\fR and \fBpostrotate\fR scripts are run for each +log which is rotated and the absolute path to the log file is passed as first +argument to the script. That means a single script may be run multiple +times for log file entries which match multiple files (such as the +\fI/var/log/news/*\fR example). If \fBsharedscripts\fR is specified, the +scripts are only run once, no matter how many logs match the wildcarded pattern, +and whole pattern is passed to them. +However, if none of the logs in the pattern require rotating, the scripts +will not be run at all. If the scripts exit with error (or any log fails to +rotate), the remaining actions will not be executed for any logs. This option +overrides the \fBnosharedscripts\fR option. + +.TP +\fBnosharedscripts\fR +Run \fBprerotate\fR and \fBpostrotate\fR scripts for every log file which +is rotated (this is the default, and overrides the \fBsharedscripts\fR +option). The absolute path to the log file is passed as first argument +to the script. The absolute path to the final rotated log file is passed as +the second argument to the \fBpostrotate\fR script. If the scripts exit with +error, the remaining actions will not be executed for the affected log only. + +.tq +\fBfirstaction\fR +.tq +\ \ \ \ \fIscript\fR +.tq +\fBendscript\fR +The \fIscript\fR is executed once +before all log files that match the wildcarded pattern are rotated, before +the prerotate script is run and only if at least one log will actually be +rotated. These directives may only appear inside a log file definition. +The whole pattern is passed to the script as its first argument. If the script +exits with an error, no further processing is done. See also \fBlastaction\fR +and the \fBSCRIPTS\fR section. + +.tq +\fBlastaction\fR +.tq +\ \ \ \ \fIscript\fR +.tq +\fBendscript\fR +The \fIscript\fR is executed once +after all log files that match the wildcarded pattern are rotated, after the +postrotate script is run and only if at least one log is rotated. These +directives may only appear inside a log file definition. The whole pattern is +passed to the script as its first argument. If the script exits +with an error, just an error message is shown (as this is the last +action). See also \fBfirstaction\fR and +the \fBSCRIPTS\fR section. + +.tq +\fBprerotate\fR +.tq +\ \ \ \ \fIscript\fR +.tq +\fBendscript\fR +The \fIscript\fR is executed before +the log file is rotated and only if the log will actually be rotated. These +directives may only appear inside a log file definition. Normally, +the absolute path to the log file is passed as the first argument to the script. +If \fBsharedscripts\fR is specified, the whole pattern is passed to the script. +See also \fBpostrotate\fR and the \fBSCRIPTS\fR section. +See \fBsharedscripts\fR and \fBnosharedscripts\fR for error handling. + +.tq +\fBpostrotate\fR +.tq +\ \ \ \ \fIscript\fR +.tq +\fBendscript\fR +The \fIscript\fR is executed +after the log file is rotated. These directives may only appear inside +a log file definition. Normally, the absolute path to the log file is +passed as the first argument to the script and the absolute path to the final +rotated log file is passed as the second argument to the script. If +\fBsharedscripts\fR is specified, the whole pattern is passed as the first +argument to the script, and the second argument is omitted. +See also \fBprerotate\fR and the \fBSCRIPTS\fR section. +See \fBsharedscripts\fR and \fBnosharedscripts\fR +for error handling. + +.tq +\fBpreremove\fR +.tq +\ \ \ \ \fIscript\fR +.tq +\fBendscript\fR +The \fIscript\fR is executed +once just +before removal of a log file. \fBlogrotate\fR will pass +the name of file which is soon to be removed as the first argument to the +script. See also \fBfirstaction\fR and +the \fBSCRIPTS\fR section. + +.SH SCRIPTS + +The lines between the starting keyword (e.g. \fBprerotate\fR) and +\fBendscript\fR (both of which must appear on lines by themselves) are +executed (using \fB/bin/sh\fR). +The script inherits some traits from the \fBlogrotate\fR process, including +stderr, stdout, the current directory, the environment, and the umask. +Scripts are run as the invoking user and group, irrespective of any \fBsu\fR +directive. If the \fB\-\-log\fR flag was specified, file descriptor 3 is the +log file. The current working directory is unspecified. + +.SH USER AND GROUP + +User and group identifiers are resolved first by trying the textual +representation and, in case it fails, afterwards by the numeric value. + +.SH FILES + +.TS +tab(:); +l l l. +\fI/var/lib/logrotate/logrotate.status\fR:Default state file. +\fI/etc/logrotate.conf\fR:Configuration options. +.TE + + +.SH "SEE ALSO" + +.BR chmod (2), +.BR gunzip (1), +.BR gzip (1), +.BR mail (1), +.BR shred (1), +.BR strftime (3), +.BR strtoul (3), +<https://github.com/logrotate/logrotate> + +.SH AUTHORS + +.nf +Erik Troan, Preston Brown, Jan Kaluza. + +<https://github.com/logrotate/logrotate> + +.fi |