一,编写bash脚本:

[root@yjweb crontab]# vi split_php_logs.sh

代码:

#!/bin/bash
# 备份php/php-fpm的日志 # 昨天的日期 file_date=$(date -d"1 day ago" +"%Y%m%d")
echo ${file_date} #php log的路径 log_path_php=/data/logs/phplogs # ===================backup dir name======================== back_base=/data/logs/phplogsbackup
date_year=$(date -d"1 day ago" +"%Y")
date_month=$(date -d"1 day ago" +"%m")
date_day=$(date -d"1 day ago" +"%d")
back_path=${back_base}/${date_year}/${date_month}/${date_day} echo ${back_path} # ===================mkdir back_path======================== if [ -d ${back_path} ];then
echo 目录已经存在,不能重复创建
else
mkdir -p ${back_path}
fi # =================== 备份php log ======================== cd ${log_path_php} for file in $(ls *log);
do mv ${file} ${back_path}/${file_date}_${file} done kill -USR1 `ps axu | grep "php-fpm: master process" | grep -v grep | awk '{print $2}'`

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,创建备份日志的目录

[root@yjweb logs]# mkdir /data/logs/phplogsbackup
[root@yjweb logs]# chmod 777 /data/logs/phplogsbackup

三,保存到定时任务:

[root@yjweb crontab]# chmod +x split_php_logs.sh
[root@yjweb crontab]# crontab -e

内容:

[root@yjweb crontab]# crontab -l | grep php
10 0 * * * sh /data/web/crontab/split_php_logs.sh >> /data/logs/cronlogs/splitphplogs.log 2>&1

四,查看日志切分的效果:

[root@yjweb crontab]# ll /data/logs/phplogsbackup/2020/03/05/
total 8
-rw------- 1 root root 854 Mar 6 10:21 20200305_php-fpm_error.log
-rw------- 1 root root 1235 Mar 6 10:21 20200305_php-fpm_slow.log

五,查看本地centos的版本

[webop@yjweb ~]$ cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)

最新文章

  1. 学习javascript数据结构(三)——集合
  2. Intent
  3. 3.通过现有的PDB创建一个新的PDB
  4. 掌握Thinkphp3.2.0----模版基础
  5. 整理 iOS 9 适配中出现的坑(图文)(转)
  6. linux环境下libevent的使用
  7. WGZX:javaScript 学习心得--2
  8. 我的工具箱之MySql Front 5.3
  9. HBase(六): HBase体系结构剖析(上)
  10. JavaScript高级程序设计27.pdf
  11. IE浏览器兼容性问题解决方法
  12. 利用popstate事件和window下的history对象处理浏览器跳转问题
  13. bzoj千题计划165:bzoj5127: 数据校验
  14. ansible学习系列1-ansible简介
  15. Linux下4个查找命令which、whereis、locate、find的总结
  16. PDF如何设置书签,怎么在PDF上添加书签
  17. mybatis的mapper代理,SqlMapConfig.xml中配置,输入和输出映射使用案例
  18. MySql基本学习知识点:
  19. chkconfig --add失败的处理方法
  20. Windows 安装 MySQL 8.0.11

热门文章

  1. 2020重新出发,JAVA高级,JVM种设计模式
  2. linux下限定连接ip和端口
  3. oracle之三手工不完全恢复
  4. [LeetCode]603. 连续空余座位(Mysql、自连接)
  5. spring cloud微服务快速教程之(十二) 分布式ID解决方案(mybatis-plus篇)
  6. 解决ExcelReport导出Excel报Number of rules must not exceed 3错误的问题
  7. Linux实战(2):Linux传输文件
  8. async/await 深度理解使用
  9. java对象相等
  10. java之死锁