zoukankan      html  css  js  c++  java
  • redis数据修复记录-1

    由于某种原因,需要把A环境的某个db的key同步到B环境,同步规则如下:

    1、如果目标端不存在这个key,则进行从A导入到B环境。

    2、如果目标端已存在同名的key,则将对应的key记录到文件。

    PS: 相关IP等 已脱敏处理。

    #!/bin/bash
    src_ip=192.168.1.1
    src_port=6379
    src_db=1
    
    
    dest_ip=192.168.1.2
    dest_port=6379
    dest_db=1
    
     
    redis-cli -h $src_ip -p $src_port -n $src_db keys * > ${src_ip}_${src_port}_db1_keys.txt
    
    for loop in `cat ${src_ip}_${src_port}_db1_keys.txt`
    do
        check_exists=$(redis-cli -h $dest_ip -p $dest_port -n $dest_db EXISTS $loop)
        if [[ $check_exists -eq 1 ]];then
            echo $loop >> ${src_ip}_${src_port}_db1_exists_keys.txt
            continue
        else
            redis-cli -h $src_ip -p $src_port -n $src_db --raw dump $loop | perl -pe 'chomp if eof' | redis-cli -h $dest_ip -p $dest_port  -n $dest_db -x restore $loop 0
            check_exists=$(redis-cli -h $dest_ip -p $dest_port -n $dest_db EXISTS $loop)
            if [[ $check_exists -eq 1 ]];then
                echo "success insert $loop from $src_ip:$src_port to $dest_ip:$dest_port" >> ok_insert_from_${src_ip}_${src_port}.log
            else
                echo "faild insert $loop from $src_ip:$src_port to $dest_ip:$dest_port" >> faild_insert_from_${src_ip}_${src_port}.log
            fi
        fi
    done
    

      

  • 相关阅读:
    取消select默认样式
    浏览器私有前缀
    兼容ie的background-size: cover;
    关于字体
    lorem 快速生成x个单词
    bash常见命令
    rgba透明的兼容处理
    JDK源码分析(10) CopyOnWriteArrayList
    JDK源码分析(9) LinkedHashMap
    JDK源码分析(8) StringBuffer & StringBuilder
  • 原文地址:https://www.cnblogs.com/imdba/p/13160511.html
Copyright © 2011-2022 走看看