</div>
<p><code>rotatelogs</code> is a simple program for use in
- conjunction with Apache's piped logfile feature. For example:</p>
-
-<div class="example"><p><code>
- CustomLog "|bin/rotatelogs /var/logs/logfile 86400" common
-</code></p></div>
-
- <p>This creates the files /var/logs/logfile.nnnn where nnnn is
- the system time at which the log nominally starts (this time
- will always be a multiple of the rotation time, so you can
- synchronize cron scripts with it). At the end of each rotation
- time (here after 24 hours) a new log is started.</p>
-
-<div class="example"><p><code>
- CustomLog "|bin/rotatelogs /var/logs/logfile 5M" common
-</code></p></div>
-
- <p>This configuration will rotate the logfile whenever it reaches
- a size of 5 megabytes.</p>
-
-<div class="example"><p><code>
- ErrorLog "|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M"
-</code></p></div>
- <p>This configuration will rotate the error logfile whenever it
- reaches a size of 5 megabytes, and the suffix to the logfile name
- will be created of the form
- <code>errorlog.YYYY-mm-dd-HH_MM_SS</code>.</p>
-
+ conjunction with Apache's piped logfile feature. It supports
+ rotation based on a time interval or maximum size of the log.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#synopsis">Synopsis</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#examples">Examples</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#portability">Portability</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<p><code><strong>rotatelogs</strong>
[ -<strong>l</strong> ]
<var>logfile</var>
- [ <var>rotationtime</var> [ <var>offset</var> ]] |
- [ <var>filesize</var>M ]</code></p>
+ <var>rotationtime</var>|<var>filesize</var>M
+ [ <var>offset</var> ]</code></p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="options" id="options">Options</a></h2>
<dt><code>-l</code></dt>
<dd>Causes the use of local time rather than GMT as the base for the
-interval. Note that using <code>-l</code> in an environment which changes the
-GMT offset (such as for BST or DST) can lead to unpredictable results!</dd>
+interval or for <code>strftime(3)</code> formatting with size-based
+rotation. Note that using <code>-l</code> in an environment which
+changes the GMT offset (such as for BST or DST) can lead to unpredictable
+results!</dd>
<dt><code><var>logfile</var></code></dt>
<code>strftime(3)</code>. Otherwise, the suffix
<var>.nnnnnnnnnn</var> is automatically added and is the time in
seconds. Both formats compute the start time from the beginning of
-the current period.</dd>
+the current period. For example, if a rotation time of 86400 is
+specified, the hour, minute, and second fields created by
+<code>strftime(3)</code> format will all be zero, referring to the
+beginning of the current 24-hour period (midnight).</dd>
<dt><code><var>rotationtime</var></code></dt>
-<dd>The time between log file rotations in seconds.</dd>
+<dd>The time between log file rotations in seconds. The rotation
+occurs at the beginning of this interval. For example, if the
+rotation time is 3600, the log file will be rotated at the beginning
+of every hour; if the rotation time is 86400, the log file will be
+rotated every night at midnight. (If no data is logged during an
+interval, no file will be created.)</dd>
+
+<dt><code><var>filesize</var>M</code></dt>
+
+<dd>The maximum file size in megabytes followed by the letter
+<code>M</code> to specify size rather than time.</dd>
<dt><code><var>offset</var></code></dt>
<dd>The number of minutes offset from UTC. If omitted, zero is
assumed and UTC is used. For example, to use local time in the zone
-UTC -5 hours, specify a value of <code>-300</code> for this argument.</dd>
-
-<dt><code><var>filesize</var>M</code></dt>
+UTC -5 hours, specify a value of <code>-300</code> for this argument.
+In most cases, <code>-l</code> should be used instead of specifying
+an offset.</dd>
-<dd>The maximum file size in megabytes followed by the letter
-<code>M</code> to specify size rather than time. Use this parameter
-in place of both rotationtime and offset.</dd>
</dl>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="examples" id="examples">Examples</a></h2>
+
+<div class="example"><p><code>
+ CustomLog "|bin/rotatelogs /var/logs/logfile 86400" common
+</code></p></div>
+
+ <p>This creates the files /var/logs/logfile.nnnn where nnnn is
+ the system time at which the log nominally starts (this time
+ will always be a multiple of the rotation time, so you can
+ synchronize cron scripts with it). At the end of each rotation
+ time (here after 24 hours) a new log is started.</p>
+
+<div class="example"><p><code>
+ CustomLog "|bin/rotatelogs -l /var/logs/logfile.%Y.%m.%d 86400" common
+</code></p></div>
+
+ <p>This creates the files /var/logs/logfile.yyyy.mm.dd where
+ yyyy is the year, mm is the month, and dd is the day of the month.
+ Logging will switch to a new file every day at midnight, local time.</p>
+
+<div class="example"><p><code>
+ CustomLog "|bin/rotatelogs /var/logs/logfile 5M" common
+</code></p></div>
+
+ <p>This configuration will rotate the logfile whenever it reaches
+ a size of 5 megabytes.</p>
+
+<div class="example"><p><code>
+ ErrorLog "|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M"
+</code></p></div>
+ <p>This configuration will rotate the error logfile whenever it
+ reaches a size of 5 megabytes, and the suffix to the logfile name
+ will be created of the form
+ <code>errorlog.YYYY-mm-dd-HH_MM_SS</code>.</p>
+
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="portability" id="portability">Portability</a></h2>