home | help
NEWSYSLOG(8)		     System Manager's Manual		    NEWSYSLOG(8)

NAME
     newsyslog -- maintain system log files to manageable sizes

SYNOPSIS
     newsyslog [-Fnrv] [-f config_file] [-a directory] [file ...]

DESCRIPTION
     The  newsyslog  utility 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 for three reasons:

	   1.	It is larger than the configured size (in kilobytes).

	   2.	A configured number of hours have elapsed since the log was last
		archived.

	   3.	This is the specific configured hour for rotation of the log.

     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, and mode three (above) assumes that
     this is so.

     When  starting  up,  newsyslog  reads  in a configuration file to determine
     which logs may potentially be archived.   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 four optional fields, with  whitespace  sepa-
     rating  each field.  Blank lines or lines beginning with ``#'' are ignored.
     If ``#'' is placed in the middle of the line, ``#'' character and the  rest
     of the line after it is ignored.  To prevent special meaning, the ``#'' may
     be  escaped  with	``\'', in this case preceding ``\'' is removed and ``#''
     treated as ordinary character.  The fields of the configuration file are as
     follows:

     logfile_name
	     Name of the system log file to be archived.

     owner:group
	     This optional field 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    Specify the mode of the log file and archives.

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

     size    When  the	size  of the log file reaches size in kilobytes, the log
	     file will be trimmed as described above.  If this field is replaced
	     by an asterisk (`*'), then the size of the log file  is  not  taken
	     into account when determining when to trim the log file.

     when    The  when	field  can  consist  of an interval, a specific time, or
	     both.  If the when field is an asterisk (`*') log rotation will de-
	     pend only on the contents of the size field.  Otherwise,  the  when
	     field  consists  of  an optional interval in hours, optionally fol-
	     lowed by an `@'-sign and a time in a restricted ISO 8601 format  or
	     by  an  `$'-sign and a time specification for logfile rotation at a
	     fixed time once per day, per week or per month.

	     If a time is specified, the  log  file  will  only  be  trimmed  if
	     newsyslog	is run within one hour of the specified time.  If an in-
	     terval is specified, the log file will  be  trimmed  if  that  many
	     hours have passed since the last rotation.  When both a time and an
	     interval  are  specified, both conditions must be satisfied for the
	     rotation to take place.

	     There is no provision for specification of a  timezone.   There  is
	     little point in specifying an explicit minutes or seconds component
	     in the current implementation, since the only comparison is `within
	     the hour'.

	     ISO 8601 restricted time format

	     The  lead-in  character  for  a  restricted  ISO  8601  time  is an
	     `@'-sign.	The particular format of the time in restricted ISO 8601
	     is: [[[[[cc]yy]mm]dd][T[hh[mm[ss]]]]].  Optional  date  fields  de-
	     fault  to	the  appropriate component of the current date; optional
	     time fields default to midnight; hence  if  today	is  January  22,
	     1999, the following date specifications are all equivalent:

		   `19990122T000000'
		   `990122T000000'
		   `0122T000000'
		   `22T000000'
		   `T000000'
		   `T0000'
		   `T00'
		   `22T'
		   `T'
		   `'

	     Day, week and month time format

	     The  lead-in  character  for day, week and month specification is a
	     `$'-sign.	The particular format of day, week and month  specifica-
	     tion  is:	[Dhh],	[Ww[Dhh]] and [Mdd[Dhh]] respectively.	Optional
	     time fields default to midnight.  The ranges for day and hour seci-
	     fications are:

		   hh	   hours, range 0 ... 23
		   w	   day of week, range 0 ... 6, 0 = Sunday
		   dd	   day of month, range 1 ... 31, or the letter L or l to
			   specify the last day of the month.

	     Some examples:

		   $D0	   rotate every night at midnight (same as @T00)
		   $D23    rotate every day at 23:00 hr (same as @T23)
		   $W0D23  rotate every week on Sunday at 23:00 hr
		   $W5D16  rotate every week on Friday at 16:00 hr
		   $M1D0   rotate at the first day of every  month  at	midnight
			   (i.e., the start of the day; same as @01T00)
		   $M5D6   rotate  on every 5th day of month at 6:00 hr (same as
			   @05T06)

     flags   This optional field specifies if the archive should have  any  spe-
	     cial  processing  done  to the archived log files.  The Z flag will
	     make the archive files compress to save  space  by  using	gzip(1).
	     The  J  flag  will make the archive files compress to save space by
	     using bzip2(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.  G flag means that the speci-
	     fied logfile_name is a shell pattern, which instructs the newsyslog
	     to archive all filenames matching this pattern using the  same  op-
	     tions.  See glob(3) for details on syntax and matching rules.

     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  signal_number  is
	     sent  the process id contained in this file.  This field must start
	     with "/" in order to be recognized properly.

     signal_number
	     This optional field specifies the signal number will be sent to the
	     daemon process.  By default a SIGHUP will be sent.

OPTIONS
     The following options can be used with newsyslog:

     -f config_file
	     Instruct	 newsyslog    to    use    config_file	  instead     of
	     /etc/newsyslog.conf for its configuration file.

     -a directory
	     Specify  a directory into which archived log files will be written.
	     If a relative path is given, it is appended to the path of each log
	     file and the resulting path is used as the directory into which the
	     archived log for that log file will be  written.	If  an	absolute
	     path  is  given,  all  archived  logs  are  written  into the given
	     directory.  If any component of the path directory does not  exist,
	     it will be created when newsyslog is run.

     -v      Place  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      Cause  newsyslog  not  to	trim  the logs, but to print out what it
	     would do if this option were not specified.

     -r      Remove the restriction that newsyslog must be running as root.   Of
	     course,  newsyslog  will  not  be able to send a HUP signal to sys-
	     logd(8) so this option should only be used in debugging.

     -F      Force newsyslog to trim the logs, even if the trim conditions  have
	     not been met.  This option is useful for diagnosing system problems
	     by providing you with fresh logs that contain only the problems.

     If additional command line arguments are given, newsyslog will only examine
     log  files that match those arguments; otherwise, it will examine all files
     listed in the configuration file.

FILES
     /etc/newsyslog.conf      newsyslog configuration file

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

AUTHORS
     Theodore Ts'o, MIT Project Athena

     Copyright 1987, Massachusetts Institute of Technology

COMPATIBILITY
     Previous versions of the newsyslog utility used the dot  (``.'')  character
     to  distinguish  the  group name.	Begining with FreeBSD 3.3, this has been
     changed to a colon (``:'') character so that user and group names may  con-
     tain  the	dot  character.  The dot (``.'') character is still accepted for
     backwards compatibility.

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

FreeBSD 5.0			  April 4, 2000 		    NEWSYSLOG(8)

home | help