Redis中如何设置日志

Redis 设置日志 1 找到Redis的配置文件 redis conf; 2 打开该配置文件, vi redis conf; 3 通过linux的查询命令找到

Redis 设置日志

1.找到Redis的配置文件 redis.conf;

2.打开该配置文件, vi redis.conf;

3.通过linux的查询命令找到 (loglevel下面)logfile " " ;

4.在冒号里面输入日志的路径,比如logfile “/usr/local/redis/log/redis.log”,其中log是新建的文件夹,redis.log也是新建的文件(有人说只要新建到文件夹就可以了,redis.log会自动生成,不过我没有测试)。

如下图:

5.如何启动redis服务器是重点,之前是在对应路径下还按之前的直接方式启动,但是没有效果,配置文件还是按照默认的,因此在在进行了大量的百度之后,终于整明白需要把服务器和修改过的配置文件一起启动(之前一直没整明白这句话啥意思有点懵,,,)。

具体指令如下(黄色字体是重点,记得加上才能成功):

这样就成功了,,,注意命令启动后没有任何的显示,因为那些东西都被写入到了redis.log里面,你可以通过打开这个文件查看一下;

6.关闭redis服务器, 命令 ./redis-cli shutdown (否则会一直在后台运行)。

按时间生成redis日志

最近新项目总是发现redis不定时被清空缓存数据,不管是重启服务器还是重启redis-server 都有配置重启前保存数据,实在没发现问题出在哪,于是准备打印日志。。

找到redis.conf,搜索 logfile 在双引号中写入日志生成地址,保险起见,我把日志级别改成了debug

重启redis后编写生成日志的脚本redis_log.sh 最近重启redis老是发现6379的端口被莫名占用,还老是生成一堆垃圾文件,想看看还显示有病毒开不开。。

#!/bin/bash

cd /usr/local/redis/logs/
if [ ! -d "`date +%Y-%m`" ];then
	mkdir  "`date +%Y-%m`"
fi
mv -f /usr/local/redis/logs/redis.log  /usr/local/redis/logs/"`date +%Y-%m`"/`date +%Y-%m-%d`.log

./redis_log.sh 测试运行发现脚本有问题

-bash: ./redis_log.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录

我是在windows环境下编写的 所以需要执行指令去删除每一行的 \r字符

 sed -i 's/\r$//' redis_log.sh

然后是开启定时任务

crontab -e
0 2 * * * sh /usr/local/redis/redis_qz/redis_log.sh

这样就会每天生成日志了,日志显示有三台未知主机连上了我们服务器,前一分钟还有十几个key,后一分钟就全部被清掉了,还有什么复制签名失败,想同步数据之类的日志信息,三ip有俩个来自法国,还有一个印度的,可能被攻击了,还好只是测试服 不管有没有用,先把一系列密码端口改了再说

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持好代码网。

标签: Redis 设置 日志