继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

logrotate 切割 nginx php mysql 日志

慕娘5729972
关注TA
已关注
手记 240
粉丝 133
获赞 772

logrotate 切割 nginx php mysql 日志



1、nginx.logrotate(error.log)

  1. /usr/local/nginx/logs/error.log {


  2. dateext


  3. create


  4. #maxage 90


  5. rotate 60


  6. missingok


  7. sharedscripts


  8. postrotate


  9. /bin/kill -USR1 `cat /var/run/nginx.pid`


  10. endscript


  11. }

2、php.logrotate(php-fpm.log、php-fpm.log.slow)

  1. /usr/local/php/var/log/php-fpm.log /usr/local/php/var/log/php-fpm.log.slow {


  2. dateext


  3. create


  4. #maxage 90


  5. rotate 60


  6. missingok


  7. sharedscripts


  8. postrotate


  9. /bin/kill -USR1 `cat /var/run/php-fpm.pid`


  10. endscript


  11. }

3、mysql.logrotate(slow-log、localhost.err)

  1. /var/lib/mysql/slow-log /var/lib/mysql/localhost.err {


  2. dateext


  3. create


  4. # notifempty


  5. #maxage 90


  6. rotate 60


  7. missingok


  8. sharedscripts


  9. postrotate


  10. /usr/local/mysql/bin/mysqladmin -uroot -p'password' flush-logs


  11. endscript


  12. }

注:

dateext     每天执行一次,同时转储旧日志时用日期格式"YYMMDD"代替简单的数字作为标记

               例:error.log-20110317

create      创建新的日志文件

notifempty  如果是空文件的话,不转储

maxage 90   只存储最近90天的日志文件,超过90天则删除

rotate 60   指定日志文件删除之前转储的次数,此处保留60个备份

missingok   如果日志文件丢失,不报错继续执行下一个

postrotate  在做完 logrotate 之后启动的指令

重新打开日志文件,如果不执行,则无法将日志写进新建立的日志文件中

      /bin/kill -USR1 `cat /var/run/php-fpm.pid`

      /bin/kill -USR1 `cat /var/run/nginx.pid`

      /usr/local/mysql/bin/mysqladmin -uroot -p'password' flush-logs

logrotate 配置文件:

      /etc/logrotate.conf

      /etc/logrotate.d/*

logrotate测试命令:

       logrotate -f /etc/logrotate.conf

       logrotate -f /etc/logrotate.d/nginx.logrotate

       logrotate -f /etc/logrotate.d/php.logrotate

       logrotate -f /etc/logrotate.d/mysql.logrotate


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP