nixCraft Poll

Topics

Lighttpd rotating log files with logrotate tool

Posted by Vivek Gite [Last updated: December 18, 2007]

Lighttpd logo

Last time I wrote about setting up virtual hosting for Lighttpd web server. Naturally next step is to setup log rotating with logrotate which rotates, compresses log files.

Our setup

Our sample setup has total 6 log files:
Default domain/IP log files:
/var/log/lighttpd/access.log
/var/log/lighttpd/error.log

nixcraft.com virtual domain log files:
/var/log/lighttpd/nixcraft.com/access.log
/var/log/lighttpd/error.log

theos.in virtual domain log files:
/var/log/lighttpd/theos.in/access.log
/var/log/lighttpd/theos.in/error.log

logrotate Configuration

All you need to do is open/create logrotate configuration file for lighttpd. Open file /etc/logrotate.d/lighttpd:
# vi /etc/logrotate.d/lighttpd

Append following text:
"/var/log/lighttpd/*.log" "/var/log/lighttpd/nixcraft.com/*.log " "/var/log/lighttpd/theos.in/*.log " {
missingok
copytruncate
rotate 7
compress
notifempty
sharedscripts
postrotate
/etc/init.d/lighttpd reload
endscript
}

Where,

Make sure crond runs automatically after system reboot

Now your logs will rotate with logrotate command which is called from cronjob (/etc/cron.daily/logrotate) everyday. So make sure crond is running all the time:
# /etc/init.d/crond start
# chkconfig --list crond
# chkconfig crond on

Alternatively, run text based GUI tool for same purpose (Redhat/CentOS/Fedora and friends):
# ntsysv

If you are using Debian Linux, type the following command to configure crond using text based GUI tools:
# rcconf

Alternatively you can use update-rc.d command (Debian / Ubuntu Linux) to start crond automatically after system reboot:
# update-rc.d crond defaults

Want to stay up to date with the latest Linux tips, news and announcements? Subscribe to our free e-mail newsletter or RSS feed to get all updates. You can Email this page to a friend.

You may also be interested in other helpful articles:

Discussion on This Article:

  1. Colin Says:

    If you are running BSD, you can use BSD’s newsyslog to do the same. Just add this line to /etc/newsyslog.conf:

    /var/log/lighttpd.access.log \
    644 7 * $D0 \
    B /var/run/lighttpd.pid

    It rotates the lighttpd access log everyday at midnight, saves seven previous logs, and sends -HUP to lighttpd. See “man newsyslog.conf” for more information.

  2. Colin Says:

    Oops, left out the owner:group parameter:

    /var/log/lighttpd.access.log www

  3. Colin Says:

    Sigh… it got truncated:

    /var/log/lighttpd.access.log www:www 644 7 * $D0 B /var/run/lighttpd.pid

    (If you have lighttpd running as a different user/group than www, modify accordingly.)

  4. nixcraft Says:

    Colin,

    Thanks for sharing newsyslog configuration directive

    Appreciate your post.

  5. aman Says:

    What is this crond above refers to if u please tell me then its really helpful to me

Leave a Reply

We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word

Tags: , , , , , , , ,

Copyright © 2004-2008 nixCraft. All rights reserved - TOS/Disclaimer - Privacy policy - Sitemap - Powered by Open source software.