zoukankan      html  css  js  c++  java
  • centos8平台redis5日志按天分割

    一,创建日志的备份目录

    [root@yjweb crontab]# mkdir /data/logs/redislogsbackup

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

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

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

    二,编写日志切分的脚本:

    [root@yjweb crontab]# vi /data/web/crontab/split_redis_logs.sh

    代码:

    #!/bin/bash
    # 备份redis的日志
    
    # 昨天的日期
    file_date=$(date -d"1 day ago" +"%Y%m%d")
    echo ${file_date}
    
    #redis log的路径
    log_path_redis=/data/redis6379/log
    
    # ===================backup dir name========================
    
    back_base=/data/logs/redislogsbackup
    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
    
    # =================== 备份redis log ========================
    
    cd ${log_path_redis}
    for file in $(ls *log);
    do
        mv ${file} ${back_path}/${file_date}_${file}
    done

    说明:和nginx/php不同,redis的日志文件可以直接mv,无需重新加载服务而生成新文件

    三,保存到定时任务:

    [root@yjweb crontab]# crontab -e

    增加一行:

    10 0 * * * sh /data/web/crontab/split_redis_logs.sh >> /data/logs/cronlogs/splitredislogs.log 2>&1 

    查看是否写入

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

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

    [root@yjweb crontab]# ll /data/logs/redislogsbackup/2020/03/10/
    total 16
    -rw-r--r-- 1 root root 12930 Mar 11 15:53 20200310_redis.log

    五,查看当前centos的版本

    [root@yjweb ~]# cat /etc/redhat-release
    CentOS Linux release 8.0.1905 (Core) 
  • 相关阅读:
    抽象类和接口
    truncate,delete和drop的区别
    PLSQL乱码问题
    Linux
    myEclipse闪退
    Java 中 Synchronized 的使用
    工厂模式
    Java中的File,IO流
    jQuery的学习
    C++中的标准模板库STL
  • 原文地址:https://www.cnblogs.com/architectforest/p/12467667.html
Copyright © 2011-2022 走看看