diff options
author | Michael Meckelein <mmeckelein@hq.adiscon.com> | 2008-01-18 14:22:56 +0000 |
---|---|---|
committer | Michael Meckelein <mmeckelein@hq.adiscon.com> | 2008-01-18 14:22:56 +0000 |
commit | ff3a56a121bdc356847e2f25ef664ee4e37ad02c (patch) | |
tree | 52a099bf41d5a46e1a57902465025d9b1c6c180a /doc | |
parent | eed61097bd4de624a4b695d53ed6d937dbd51021 (diff) | |
download | rsyslog-ff3a56a121bdc356847e2f25ef664ee4e37ad02c.tar.gz rsyslog-ff3a56a121bdc356847e2f25ef664ee4e37ad02c.tar.xz rsyslog-ff3a56a121bdc356847e2f25ef664ee4e37ad02c.zip |
*** empty log message ***
Diffstat (limited to 'doc')
-rw-r--r-- | doc/log_rotation_fix_size.html | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/doc/log_rotation_fix_size.html b/doc/log_rotation_fix_size.html new file mode 100644 index 00000000..182833b9 --- /dev/null +++ b/doc/log_rotation_fix_size.html @@ -0,0 +1,59 @@ +<html><head> +<title>Keep the log file size accurate with log rotation</title> +<meta name="KEYWORDS" content="log rotation, howto, guide, fixed-size log"> +</head> +<body> +<h1>Log rotation with rsyslog</h1> + <P><small><i>Written by + Michael Meckelein</i></small></P> +<h2>Situation</h2> + +<p>Your environment does not allow you to store tons of logs? +You have limited disc space available for logging, for example +you want to log to a 124 MB RAM usb stick? Or you do not want to +keep all the logs for months, logs from the last days is sufficient? +Think about log rotation.</p> + +<h2>Log rotation based on fixed-size file</h2> + +<p>This small but hopefully useful article will show you the way +to keep your logs at a given size. The following sample is based on +rsyslog illustrating a simple but effective log rotation with a +maximum size condition.</p> + +<h2>Use Output Channels for fixed-length syslog files</h2> + +<p>Lets assume you do not want to spend more than 100 MB hard +disc space for you logs. With rsyslog you can configure Output +Channels to achieve this. Putting the following directive</p> + +<p><pre> +# start log rotation via outchannel +# outchannel definiation +$outchannel log_rotation,/var/log/log_rotation.log, 52428800,/home/me/./log_rotation_script +# activate the channel and log everything to it +*.* $log_rotation +# end log rotation via outchannel +</pre></p> + +<p>to ryslog.conf instruct rsyslog to log everything to the destination file +'/var/log/log_rotation.log' until the give file size of 50 MB is reached. If +the max file size is reached it will perform an action. In our case it executes +the script /home/me/log_rotation_script which contains a single command:</p> + +<p><pre> +mv -f /var/log/log_rotation.log /var/log/log_rotation.log.1 +</p></pre> + +<p>This moves the original log to a kind of backup log file. +After the action was successfully performed rsyslog creates a new /var/log/log_rotation.log +file and fill it up with new logs. So the latest logs are always in log_roatation.log.</p> + +<h2>Conclusion</h2> + +<p>With this approach you use two files for logging, each with a maximum size of 50 MB. So +we can say we have successfully configured a log rotation which satisfies our requirement. +We keep the logs at a fixed-size level of100 MB.</p> + +</body> +</html> |