0
点赞
收藏
分享

微信扫一扫

consul 备份脚本

$ cat consul_backup.sh

#!/bin/bash

ts=$(date +"%Y_%m_%d_%H_%M")

processName="consul_backup.sh"
processNum=`ps -ef | grep $processName | grep -v grep | wc -l`
if [ $processName gt 3 ];then
echo " $processName already existed!"
exit 1
fi



status_dir=/data/consul/status_dir
kv_dir=/data1/consul/kv_dir

[ -d $status_dir ] || mkdir $status_dir
[ -d $kv_dir ] || mkdir $kv_dir


status_backup() {

consul snapshot save -token=72f41f43-849d-b45f-ee73-3133a3060365 -http-addr=192.168.211.40:8500 $status_dir/consul_state_$i{ts}.snap

}

kv_backup() {

consul kv export -token=72f41f43-849d-b45f-ee73-3133a3060365 -http-addr=192.168.211.40:8500 > $kv_dir/consul_kv_${ts}.json
if [ $? == 0 ];then
tar -czPf $kv_dir/consul_kv_${ts}.tar.gz $kv_dir/consul_kv_${ts}.json
rm -rf $kv_dir/consul_kv_${ts}.json
fi

}

kv_restore() {
date=$1
tar xPf $kv_dir/consul_kv_${date}.tar.gzi -C /
ls $kv_dir/consul_kv_${date}.json > /dev/null
if [ $? == 0 ];then

consul kv import -token=72f41f43-849d-b45f-ee73-3133a3060365 -http-addr=192.168.211.40:8500 @$kv_dir/consul_kv_${date}.json

fi

}



#status_backup
kv_backup

执行:

[root@control1 consul]# bash consul_backup.sh
[root@control1 consul]# ls kv_dir/
consul_kv_2021_05_18_16_36.tar.gz
[root@control1 consul]# du -sh kv_dir/
21M kv_dir/
[root@control1 consul]# ls kv_dir/
consul_kv_2021_05_18_16_36.json consul_kv_2021_05_18_16_36.tar.gz data1
[root@control1 consul]# du -sh kv_dir/consul_kv_2021_05_18_16_36.json
110M kv_dir/consul_kv_2021_05_18_16_36.json


举报

相关推荐

0 条评论