LOGROTATE(8)

LOGROTATE(8)

loadunimap Home Page System Administration Index losetup


NAME
       logrotate - rotates, compresses, and mails system logs

SYNOPSIS
       logrotate [-dv] [-s|--state file] config_file+

DESCRIPTION
       logrotate  is  designed  to ease administration of systems
       that generate large numbers of log files.  It allows auto-
       matic  rotation,  compression, removal, and mailing of log
       files.  Each  log  file  may  be  handled  daily,  weekly,
       monthly, or when it grows too large.

       Normally,  logrotate  is run as a daily cron job.  It will
       not modify a log multiple times in one day unless the cri-
       terium  for that log is based on the log's size and logro-
       tate is being run multiple times each day.

       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 logrotate  config
       files are listed in is important.  Normally, a single con-
       fig file which includes any other config files  which  are
       needed  should be used.  See below for more information on
       how to use the include directive to accomplish this.  If a
       directory is given on the command line, every file in that
       directory is used as a config file.

OPTIONS
       -d     Turns on debug mode and implies -v.  In debug mode,
              no  changes  will  be  made  to  the logs or to the
              logrotate state file.

       -s, --state <<statefile>>
              Tells logrotate to use  an  alternate  state  file.
              This  is useful if logrotate is being run as a dif-
              ferent user for various sets  of  log  files.   The
              default state file is /var/lib/logrotate.status.

       --usage
              Prints  the  a  short usage, version, and copyright
              message.

CONFIGURATION FILE
       logrotate reads everything about the log files  it  should
       be  handling from the series of configuration files speci-
       fied on the command line.  Each configuration file can set
       global  options  (local  definitions override global ones,
       and later definitions override earlier ones) and specify a
       logfile  to rotate. A simple configuration file looks like

       this:

       # sample logrotate configuration file
       errors sysadmin@my.org
       compress

       /var/log/messages {
           rotate 5
           weekly
           postrotate
                                     /sbin/killall -HUP syslogd
           endscript
       }

       /var/log/httpd/access.log {
           rotate 5
           mail www@my.org
           errors www@my.org
           size=100k
           postrotate
                                     /sbin/killall -HUP httpd
           endscript
       }

       /var/log/news/* {
           monthly
           rotate 2
           errors newsadmin@my.org
           postrotate
                                     kill -HUP `cat /var/run/inn.pid`
           endscript
           nocompress
       }

       The first few lines set global options;  any  errors  that
       occur  during  log  file  processing  are mailed to sysad-
       min@my.org and 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 #.

       The next section of the config files defined how to handle
       the log file /var/log/messages. 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 /sbin/killall -HUP
       syslogd will be executed.

       The   next   section   defines    the    parameters    for
       /var/log/httpd/access.log.   It  is  rotated  whenever  is
       grows over 100k is size, and the old logs files are mailed
       (uncompressed)  to  www@my.org after going through 5 rota-
       tions, rather then being  removed.  Likewise,  any  errors
       that  occur  while processing the log file are also mailed

       to www@my.org (overriding the global errors directive).

       The last section definest the parameters for  all  of  the
       files  in /var/log/news. Each file is rotated on a monthly
       basis, and the errors are mailed to newsadmin@my.org. This
       is  considered  a  single rotation directive and if errors
       occur for more then one file they are mailed in  a  single
       message. In this case, the log files are not compressed.

       Here  is  more  information on the directives which may be
       included in a logrotate configuration file:

       compress
              Old versions of log files are compressed with gzip.
              See also nocompress.

       copytruncate
              Truncate  the original log file in place after cre-
              ating a copy, instead of moving the  old  log  file
              and  optionally  creating a new one, It can be used
              when some program can not be told to close its log-
              file 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 create option
              will have no effect, as the old log file  stays  in
              place.

       create mode owner group
              Immediately  after  rotation (before the postrotate
              script is run) the log file is  created  (with  the
              same  name  as  the  log  file just rotated).  mode
              specifies the mode for the log file in  octal  (the
              same  as  chmod(2)),  owner specifies the user name
              who will own the log file, and group specifies  the
              group  the  log file will belong to. Any of the log
              file attributes may be omitted, in which case those
              attributes  for the new file will use the same val-
              ues as  the  original  log  file  for  the  omitted
              attributes.  This  option can be disabled using the
              nocreate option.

       daily  Log files are rotated every day.

       delaycompress
              Postpone compression of the previous  log  file  to
              the next rotation cycle.  This has only effect when
              used in combination with compress.  It can be  used
              when some program can not be told to close its log-
              file and thus might continue writing to the  previ-
              ous log file for some time.

       errors address
              Any  errors  that  occur during log file processing
              are mailed to the given address.

       ifempty
              Rotate the log file even if it is empty,  overiding
              the notifempty option (this is the default).

       include file_or_directory
              Reads  the  file  given as an argument as if it was
              included  inline  where   the   include   directive
              appears. If a directory is given, most of the files
              in that directory are read 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,  as
              specified  by  the tabooext directive.  The include
              directive may not appear inside of a log file defi-
              nition.

       mail address
              When  a  log  is  rotated  out-of-existence,  it is
              mailed to address. If no mail should  be  generated
              by  a  particular  log, the nomail directive may be
              used.

       monthly
              Log files are rotated the first time  logrotate  is
              run  in  a month (this is normally on the first day
              of the month).

       nocompress
              Old versions of log files are not  compressed  with
              gzip. See also compress.

       nocopytruncate
              Do  not  truncate  the  original  log file in place
              after creating a copy (this overrides the copytrun-
              cate option).

       nocreate
              New  log  files are not created (this overrides the
              create option).

       nodelaycompress
              Do not postpone compression  of  the  previous  log
              file to the next rotation cycle (this overrides the
              delaycompress option).

       nomail Don't mail old log files to any address.

       noolddir
              Logs are rotated in the same directory the log nor-
              mally   resides   in  (this  overrides  the  olddir
              option).

       notifempty
              Do not rotate the log if it is  empty  (this  over-
              rides the ifempty option).

       olddir directory
              Logs  are  moved  into  directory for rotation. The
              directory must be on the same  physical  device  as
              the  log  file  being  rotated. When this option is
              used all old versions of the log end up  in  direc-
              tory.  This option may be overriden by the noolddir
              option.

       postrotate/endscript
              The lines between postrotate and endscript (both of
              which  must appear on lines by themselves) are exe-
              cuted after the log file is rotated.  These  direc-
              tives  may only appear inside of a log file defini-
              tion.  See prerotate as well.

       prerotate/endscript
              The lines between prerotate and endscript (both  of
              which  must appear on lines by themselves) are exe-
              cuted before the log file is rotated. These  direc-
              tives  may only appear inside of a log file defini-
              tion.  See postrotate as well.

       rotate count
              Log files are rotated <count>  times  before  being
              removed  or  mailed  to  the address specified in a
              mail directive. If count is  0,  old  versions  are
              removed rather then rotated.

       size size
              Log  files  are  rotated when they grow bigger then
              size bytes. If size is followed by M, the  size  if
              assumed  to be in megabytes.  If the k is used, the
              size is in kilobytes. So size 100, size  100k,  and
              size 100M are all valid.

       tabooext [+] list
              The  current  taboo  extension list is changed (see
              the include directive for information on the  taboo
              extensions).  If  a  +  precedes the list of exten-
              sions, the current taboo  extension  list  is  aug-
              mented,  otherwise  it is replaced. At startup, the
              taboo extension list contains  .rpmorig,  .rpmsave,
              ,v and ~.

       weekly Log  files  are  rotated  if the current weekday is
              less then the weekday of the last  rotation  or  if
              more  then  a  week has passed since the last rota-
              tion. This is normally the same as rotating logs on
              the  first  day of the week, but it works better if
              logrotate is not run every night.

FILES
       /var/lib/logrotate.status  Default state file.

SEE ALSO
       gzip(1) 

AUTHOR
       Erik Troan lt;ewt@redhat.com

loadunimap Home Page System Administration Index losetup