• wordpress CMS主题:ssmay主题wordpress CMS主题:ssmay主题
  • 首页 > Linux系统运用 > nginx服务器上的网站日志如何按日期来命名?

    nginx服务器上的网站日志如何按日期来命名?

    作者: 分类:Linux系统运用 点击: 1,831 次
    wordpress CMS主题:ssmay主题

      在网站没有问题的情况下,这个网站日志看上去没什么作用。但一旦网站有情况发生,这个网站日志可是会给我们很好的参考价值的。日志中会一直记录着网站运营的状况。前段时间,网站出了状况,于是就想到了网站日志。进FTP一看,晕死,这个日志好大呀,有5G那大,这也太吓人了,要打开这么大的日志文本,就已经非常难了,更合况还要从网上下载下来看。为什么不让网站日志按日期来命名,让它每天都有单独的日志呢?

      我的网站不是apache服务器,没有apache那么灵活。那么,nginx服务器上的网站日志怎样才能按日期来命名

      第一步:创建 log_new_del.sh 这样一个shell命令文件,

      vim log_new_del.sh

      第二步:把下面的代码放到log_new_del.sh文件中:

      LOGS_PATH=/alidata/log/nginx/access/

      YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)

      #按天切割日志
      mv ${LOGS_PATH}/wanlimmc.log ${LOGS_PATH}/wanlimmc_${YESTERDAY}.log
      mv ${LOGS_PATH}/ssmay.log ${LOGS_PATH}/ssmay_${YESTERDAY}.log

      #向nginx主进程发送USR1信号,重新打开日志文件,否则会继续往mv后的文件写数据的。原因在于:linux系统中,内核是根据文件描述符来找文件的。如果不这样操作导致日志切割失败。

      kill -USR1 `ps axu | grep "nginx: master process" | grep -v grep | awk '{print $2}'`

      #删除3天前的日志

      find ${LOGS_PATH} -mtime +3 -name "wanlimmc*" | xargs rm -f
      find ${LOGS_PATH} -mtime +3 -name "ssmay*" | xargs rm -f
      exit 0

      第三步:设置定时执行log_new_del.sh命令:

      要想定时执行,就要使用crontab。把log_new_del.sh命令放到crontab中:

      vim /etc/crontab    #进入编辑crontab

      59 23 * * * root /bin/sh /usr/local/log_new_del.sh #在每天23点59分开始执行log_new_del.sh命令

      注:sh命令路径不同的服务器可以路径不一样,我这里以/bin/sh为例,一般情况直接使用 sh就可以了。这样,我们就完成了对nginx服务器下的网站日志的命名按日期来了。而且定时删除3天前的日志。



      QQ二维码

    文章作者:高时银博客
    本文地址:http://wanlimm.com/77201903147216.html
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    上一篇:
    下一篇:
    wordpress CMS主题:ssmay主题

    或许你会感兴趣的文章:

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    This site uses Akismet to reduce spam. Learn how your comment data is processed.