XY BLOG

XY的BLOG

redis迁移脚本 迁移DB/指定KEY

Published on in Posts
Short link: https://b.xyzt07.cn/s/b
Share this post
A ⇄ 文
⚠️ This entry is already over one year old. It may no longer be up to date. Opinions may have changed.
#!/bin/bash
 
#redis 源ip
src_ip=127.0.0.1
#redis 源port
src_port=6379
 
#redis 源库
src_db=4
 
#redis 目的ip
dest_ip=127.0.0.2
#redis 目的port
dest_port=6379
 
#redis 目的
dest_db=4
 
#redis 密码
pw1=pwd1

pw2=pwd2

#要迁移的key前缀
key_prefix=db_

redis-cli -h $src_ip -p $src_port -a $pw -n $src_db keys "$key_prefix*" | while read key
do
    redis-cli -h $src_ip -p $src_port -a $pw1 -n $src_db --raw dump $key | perl -pe 'chomp if eof' | redis-cli -h $dest_ip -p $dest_port -a $pw2 -n $dest_db -x restore $key 0
    echo "migrate key $key"
done

# 指定key
# key=queues:1257sendnews:delayed
 
# redis-cli -h $src_ip -p $src_port -a $pw1 -n $src_db --raw dump $key | perl -pe 'chomp if eof' | redis-cli -h $dest_ip -p $dest_port -a $pw2 -n $dest_db -x restore $key 0
# echo "migrate key $key"