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日志按天切割并删除指定天数前的日志完成。