logrotate.conf

  • /var/www/cron/rails/logrotate.conf
/var/www/rails/sample/shared/log/*.log {
  weekly
  missingok
  copytruncate
  sharedscripts
  postrotate
    EXT=`date +%Y%m%d`
    for f in /var/www/rails/sample/shared/log/*.log
    do
      mv $f.1 $f.$EXT
      gzip $f.$EXT
    done
    cd /var/www/rails/sample
    cap deploy:restart
  endscript
}

  • /var/www/cron/httpd/logrotate.conf
/var/www/logs/*_log {
  missingok
  rotate 99
  size=1M
  compress
  delaycompress
  notifempty
  copytruncate
}

cronの設定


5 0 * * *  /usr/sbin/logrotate -s /var/www/cron/rails/logrotate.status /var/www/cron/rails/logrotate.conf
5 1 * * *  sudo /usr/sbin/logrotate -s /var/www/cron/httpd/logrotate.status /var/www/cron/httpd/logrotate.conf

sudoのパスワードなし設定

  • /etc/sudoers
%www ALL=(ALL) NOPASSWD:/usr/sbin/logrotate
最終更新:2008年02月18日 23:31