NEWSYSLOG(8)

NAME
newsyslog - maintain system log files to manageable sizes

SYNOPSIS
/usr/bin/newsyslog [ -vnr ] [ -f configuration file ]

DESCRIPTION
Newsyslog is a program that should be scheduled to run periodically by crontab. When it is executed it archives log files if necessary. If a log file is determined to require archiving, newsyslog rearranges the files so that ``logfile'' is empty, ``logfile.0'' has the last period's logs in it, ``logfile.1'' has the next to last period's logs in it, and so on, up to a user-specified number of archived logs. Optionally the archived logs can be compressed to save space.

A log can be archived because of two reasons. The log file can have grown bigger than a preset size in kilobytes, or a preset number of hours may have elapsed since the last log archive. The granularity of newsyslog is dependent on how often it is scheduled to run in crontab. Since the program is quite fast, it may be scheduled to run every hour without any ill effects.

When starting up, newsyslog reads in a configuration file to determine which logs should be looked at. By default, this configuration file is /etc/newsyslog.conf. Each line of the file contains information about a particular log file that should be handled by newsyslog. Each line has five mandatory fields and two optional fields, with a whitespace separating each field. Blank lines or lines beginning with ``#'' are ignored. The fields of the configuration file are as follows:
    logfile name
    owner.group of archives (optional)
    mode of logfile & archives
    number of archives
    size of archives
    archive interval
    flags (optional)

The logfile name entry is the name of the system log file to be archived.

The optional owner.group entry specifies an ownership and group for the archive file. The "." is essential, even if the owner or group field is left blank. The fields may be numeric, or a name which is looked up in /etc/passwd or /etc/group.

The number of archives entry specifies the number of archives to be kept besides the log file itself.

When the size of the logfile reaches size of archives, the logfile becomes trimmed as described above. If this field is replaced by a ``*'', then the size of the logfile is not taken into account when determining when to trim the log file.

The number of hours entry specifies the time separation between the trimming of the log file. If this field is replaced by a ``*'', then the number of hours since the last time the log was trimmed will not be taken into consideration.

The flags field specifies if the archives should have any special processing done to the archived log files. The ``Z'' flag will make the archive files compressed to save space using /usr/bin/gzip. The ``B'' flag means that the file is a binary file, and so the ascii message which newsyslog inserts to indicate the fact that the logs have been turned over should not be included.

OPTIONS
The following options can be used with newsyslog:

-f config-file
    instructs newsyslog to use config-file instead of /etc/newsyslog.conf for its configuration file.

-v  places newsyslog in verbose mode. In this mode it will print out each log and its reasons for either trimming that log or skipping it.

-n  causes newsyslog not to trim the logs, but to print out what it would do if this option were not specified.

-r  removes the restriction that newsyslog must be running as root. Of course, newsyslog will not be able to send a HUP signal to syslogd, so this option should only be used in debugging.

FILES
/etc/newsyslog.conf

BUGS
Doesn't yet automatically read the logs to find security breaches.

AUTHOR
Theodore Ts'o, MIT Project Athena
Copyright 1987, Massachusetts Institute of Technology

SEE ALSO
syslogd(8), syslog(3), gzip(1)