Skip to content

日志切割

Xiaoshi Xu edited this page Apr 14, 2018 · 23 revisions

Logrotate

  • 给每个网站新建一个logrotate的配置文件,放在/etc/logrotate-eefocus.d下,设置cron每天0点01分切割日志并发送给日志服务器42。
  • 给每个网站都建一个配置,方便后续管理改动。以后肯能会集成进puppet或ansible。
  • 把eefocus网站的日志切割和其他的分离了开来,所以可以保证不影响其他日志的切割,centos默认dailly cron是3点,还会有随机延迟,不太适合我们需要统计每天的数据,所以手动加cron,每天0点01分运行。

配置文件模板

# nginx access
/var/log/nginx/www.testxxu.com/access.log {
    copytruncate
    daily
    rotate 1
    compress
    missingok
    dateext
    dateyesterday
    lastaction 
        datetime=`date -d yesterday +%Y%m%d`
        rsync -qa --rsync-path="mkdir -p /data/log-new/www.testxxu.com/192.168.0.163/nginx/access && rsync" /var/log/nginx/www.testxxu.com/access.log-$datetime.gz copylog@192.168.0.42:/data/log-new/www.testxxu.com/192.168.0.163/nginx/access
    endscript
}

# nginx error
/var/log/nginx/www.testxxu.com/error.log {
    copytruncate
    daily
    rotate 1
    compress
    missingok
    dateext
    dateyesterday
    lastaction 
        datetime=`date -d yesterday +%Y%m%d`
        rsync -a --rsync-path="mkdir -p /data/log-new/www.testxxu.com/192.168.0.163/nginx/error && rsync" /var/log/nginx/www.testxxu.com/error.log-$datetime.gz copylog@192.168.0.42:/data/log-new/www.testxxu.com/192.168.0.163/nginx/error
    endscript
}

# php-fpm slow
/var/log/php-fpm/www.testxxu.com/slow.log {
    copytruncate
    daily
    rotate 1
    compress
    missingok
    dateext
    dateyesterday
    lastaction 
        datetime=`date -d yesterday +%Y%m%d`
        rsync -a --rsync-path="mkdir -p /data/log-new/www.testxxu.com/192.168.0.163/php-fpm/slow && rsync" /var/log/php-fpm/www.testxxu.com/slow.log-$datetime.gz copylog@192.168.0.42:/data/log-new/www.testxxu.com/192.168.0.163/php-fpm/slow
    endscript
}

# php-fpm error
/var/log/php-fpm/www.testxxu.com/error.log {
    copytruncate
    daily
    rotate 1
    compress
    missingok
    dateext
    dateyesterday
    lastaction 
        datetime=`date -d yesterday +%Y%m%d`
        rsync -a --rsync-path="mkdir -p /data/log-new/www.testxxu.com/192.168.0.163/php-fpm/error && rsync" /var/log/php-fpm/www.testxxu.com/error.log-$datetime.gz copylog@192.168.0.42:/data/log-new/www.testxxu.com/192.168.0.163/php-fpm/error
    endscript
}
Clone this wiki locally