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) 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM