加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php系统日志切割的示例

发布时间:2022-02-24 00:57:04 所属栏目:PHP教程 来源:互联网
导读:我习惯设置的日志路径是这样 /home/www/logs/域名.log 比如: /home/www/logs/www.Cuoxin.com.log 为了方便管理,日志需要按天保存在一个文件中,并且保留指定天数的日志,超过时间的就删除。 分享一下脚本: #!/usr/bin/php $logdir = /home/www/logs/; //
  我习惯设置的日志路径是这样
 
  /home/www/logs/域名.log
 
  比如:
 
  /home/www/logs/www.Cuoxin.com.log
 
  为了方便管理,日志需要按天保存在一个文件中,并且保留指定天数的日志,超过时间的就删除。
 
  分享一下脚本:
 
  #!/usr/bin/php
  $logdir = '/home/www/logs/';
  // 保留天数含当天
  $log_save_day = 7;
  
  $files = glob("{$logdir}/*");
  
  foreach($files as $path){
      $filename = basename($path);
      preg_match("/(/d{8})/.log/", $filename, $preg);
  
      $date = @$preg[1];
       
      if(emptyempty($date)){
          // 当天日志,更改文件名
          $newpath = $logdir . '/' . str_replace('log', date('Ymd',strtotime("-1 day")).'.log', $filename);
          rename($path, $newpath);
          echo "$path >>> $newpath/n";
      }else{
          // 超过保留天数,删除
          if(time()+10 - strtotime($date) > 3600*24*$log_save_day){
              unlink($path);
              echo "$path delete!/n";
          } //Cuoxin.com
      }
  }
  shell_exec('/etc/init.d/nginx reload &> /dev/null');

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读