帮助中心

这里有最新的使用文档和教程

< 返回

Redis如何按天切割并删除指定天数前的日志?

2023-03-28 14:27 作者:31IDC 阅读量:416 所属分类:Linux系统

Redis如何按天切割并删除指定天数前的日志?

Redis如何按天切割并删除指定天数前的日志?

 

Redis安装目录:/usr/local/redis-5.0.14/

#创建日志切割脚本

vi /usr/local/redis-5.0.14/cut-redis-log.sh

#!/bin/bash

#获取昨天的日期

file_date=$(date -d"1 day ago" +"%Y%m%d")

#redis日志文件

log_path_redis=/usr/local/redis-5.0.14/log/redis.log

#日志切割后的存放目录

back_base=/usr/local/redis-5.0.14/log/

#设置删除多少天之前的日志文件

days=180

#切割日志

#redis的日志文件可以直接mv,不需要重新加载服务就能生成新的日志文件

mv $log_path_redis $back_base/redis_$file_date.log

#删除日志

find $back_base/redis_*.log -mtime +$days -exec rm {} \;

:wq! #保存退出

#添加脚本执行权限

chmod +x /usr/local/redis-5.0.14/cut-redis-log.sh

#添加计划任务,每天凌晨0:00执行一次备份

crontab -e

0 0 * * * /bin/sh /usr/local/redis-5.0.14/cut-redis-log.sh & >/dev/null

:wq! #保存退出

#重启crond

systemctl restart crond

 

至此,Redis日志按天切割并删除指定天数前的日志完成。

31IDC - 12 年深耕海外 IDC 高端资源