最近新项目总是发现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有俩个来自法国,还有一个印度的,可能被攻击了,还好只是测试服 不管有没有用,先把一系列密码端口改了再说