개떡같은 Redis는 별도의 툴을 사용하지 않으면
클라이언트 사이드에서 dump와 restore가 매우 불편하다.
작업하며 작성한 dump/restore 스크립트를 공유한다.
dump.sh
#!/bin/bash
for each in $( redis-cli.exe -h $1 -p $2 -n $3 KEYS $4 );
do redis-cli.exe -h $1 -p $2 -n $3 --raw dump $each | head -c-1 > temp/$each
done
restore.sh
#!/bin/bash
for key in $( ls -l $4 | awk '{ print $9 }' );
do cat $4/$key | redis-cli.exe -h $1 -p $2 -n $3 -x restore $key 0
done
사용 예
mkdir temp
./dump.sh $src_host $src_port $src_dbnum *:*
./restore.sh $dest_host $dest_port $dest_dbnum temp
wsl 환경에서 실행하면 개행 문자 때문인지 개판난다. 제대로 동작하지 않는다.