summaryrefslogtreecommitdiff
path: root/usr.bin/newsyslog/newsyslog.8
blob: c9dfecaae4c8440e104af2528530c4e5140e2c97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
.TH NEWSYSLOG 8 "January 12, 1989" "Project Athena"
.ns
.\" This file contains changes from the Open Software Foundation.
.\"
.\"	from: @(#)newsyslog.8
.\"	$Id: newsyslog.8,v 1.1 1995/10/18 08:45:51 deraadt Exp $
.\"
.\" Copyright 1988, 1989 by the Massachusetts Institute of Technology
.\" 
.\" Permission to use, copy, modify, and distribute this software
.\" and its documentation for any purpose and without fee is
.\" hereby granted, provided that the above copyright notice
.\" appear in all copies and that both that copyright notice and
.\" this permission notice appear in supporting documentation,
.\" and that the names of M.I.T. and the M.I.T. S.I.P.B. not be
.\" used in advertising or publicity pertaining to distribution
.\" of the software without specific, written prior permission.
.\" M.I.T. and the M.I.T. S.I.P.B. make no representations about
.\" the suitability of this software for any purpose.  It is
.\" provided "as is" without express or implied warranty.
.\"
.sp
.SH NAME
newsyslog \- maintain system log files to manageable sizes
.SH SYNOPSIS
.B /usr/bin/newsyslog
[
.B \-vnr
] [
.B \-f
.I configuration file
]
.SH DESCRIPTION
.I Newsyslog
is a program that should be scheduled to run periodically by
.IR crontab .
When it is executed it archives log files if necessary.  If a log file
is determined to require archiving, 
.I 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. 
.PP
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
.I 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.
.PP
When starting up, 
.I newsyslog
reads in a configuration file to determine which logs should be looked
at.  By default, this configuration file is 
.IR /etc/newsyslog.conf .
Each line of the file contains information about a particular log file
that should be handled by
.IR 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: 
.br
	logfile name
.br
	owner.group of archives (optional)
.br
	mode of logfile & archives
.br
	number of archives
.br
	size of archives
.br
	archive interval
.br
	flags (optional)
.PP
The
.I logfile name
entry is the name of the system log file to be archived.
.PP
The optional
.I owner.group
entry specifies an ownership and group for the archive file.
The "." is essential, even if the 
.I owner
or
.I group
field is left blank. The
fields may be numeric, or a name which is looked up in 
.I /etc/passwd
or 
.IR /etc/group .
.PP
The
.I number of archives
entry specifies the number of archives to be kept besides the log file
itself.  
.PP
When the size of the logfile reaches 
.I size of 
.IR 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.
.PP
The
.I number of hours
entry specifies the time separation between the trimming of the log
file.  If this field is replaced by a ``*'', the the number of hours
since the last time the log was trimmed will not be taken into
consideration.
.PP
The
.I 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
.I newsyslog
inserts to indicate the fact that the logs have been turned over
should not be included.
.PP
.SH OPTIONS
The following options can be used with newsyslog:
.TP
.B \-f \fIconfig-file
instructs newsyslog to use 
.I config-file
instead of /etc/newsyslog.conf for its configuration file.
.TP
.B \-v
places 
.I newsyslog
in verbose mode.  In this mode it will print out each log and its
reasons for either trimming that log or skipping it.
.TP
.B \-n
causes
.I newsyslog 
not to trim the logs, but to print out what it would do if this option
were not specified.
.TP
.B \-r
removes the restriction that
.I newsyslog 
must be running as root.  Of course, 
.I newsyslog
will not be able to send a HUP signal to
.IR syslogd ,
so this option should only be used in debugging.
.SH FILES
/etc/newsyslog.conf
.SH BUGS
Doesn't yet automatically read the logs to find security breaches.


.SH AUTHOR
Theodore Ts'o, MIT Project Athena
.br
Copyright 1987, Massachusetts Institute of Technology
.SH "SEE ALSO"
syslogd(8), syslog(3), gzip(1)
.ns
.sp