NEWSYSLOG(8)

NAME
newsyslog - maintain system log files to manageable sizes

SYNOPSIS
newsyslog [-rnv] [-f config_file]

DESCRIPTION
Newsyslog is a program that should be scheduled to run periodically by cron(8). 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 by cron(8). 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 three 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
    Name of the system log file to be archived.

owner.group
    Specifies the owner and group for the archive file. The "." is essential, even if the owner or group field is left blank. The field may be numeric, or a name which is present in /etc/passwd or /etc/group.

mode
    Specifies the mode of the log file and archives.

count
    Specifies the number of archive files to be kept besides the log file itself.

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

interval
    When interval hours have passed, the log file will be trimmed. 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.

flags
    This optional field specifies if the archive should have any special processing done to the archived log files. The Z flag will make the archive files compress to save space by using gzip(1). 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. The - flag means nothing, but can be used as a placeholder when the path_to_pid_file field is specified.

path_to_pid_file
    This optional field specifies the file name to read to find the daemon process id. If this field is present, a SIGHUP is sent the process id contained in this file. This field must start with "/" in order to be recognized properly.

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(8) so this option should only be used in debugging.

FILES

/etc/newsyslog.conf
    newsyslog configuration file.

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
gzip(1), syslog(3), syslogd(8)