设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php系统日志切割的示例

发布时间:2022-02-23 15:41 所属栏目:121 来源:互联网
导读:我习惯设置的日志路径是这样 /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');

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读