Rabbitmq备份
#!/bin/bash
date=`date +"%Y%m%d%H%M%S"`
Backup_dir=/data/backup/rabbitmq
# 企微相关配置
db_type="RabbitMQ"
db_env="宜昌城发生产环境"
host=$(hostname -I|awk '{print $1}')
# 测试企微webhook地址
webhook_url="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=******"
#备份开始时间
start_time=$(date "+%F %X")
kubectl get pods -A|grep -i rabbitmq|grep -v bigdata|grep Running |awk '{print $1,$2}' > $Backup_dir/rabbitmq.txt
while read dy
do
namespace=`echo $dy|awk '{print $1}'`
pods=`echo $dy|awk '{print $2}'`
kubectl exec -it -n $namespace $pods bash -- rabbitmqctl list_queues > $Backup_dir/${pods}_list_queues_${date}.txt
kubectl exec -it -n $namespace $pods bash -- rabbitmqctl list_vhosts > $Backup_dir/${pods}_list_vhosts_${date}.txt
kubectl exec -it -n $namespace $pods bash -- rabbitmqctl list_users > $Backup_dir/${pods}_list_users_${date}.txt
break
done < $Backup_dir/rabbitmq.txt
#获取服务器IP
host=$(hostname -I|awk '{print $1}')
# 备份列表
filename=$(ls $Backup_dir |grep list_users_${date}|awk '{print $1}')
bucket_list=${filename%%_*}
#判断文件是否存在,存在则备份成功
IsFiles=$(ls $Backup_dir |grep ${date}|wc -l|awk '{print $1}')
if [ ${IsFiles} -lt 0 ];then
bak_status_col='warning'
bk_status="Failed"
else
bak_status_col='info'
bk_status="Succes"
fi
#备份结束时间
end_time=$(date "+%F %X")
contents='{
"msgtype": "markdown",
"markdown": {
"content": "
# '${db_env}' '${db_type}' 备份监控 \\n
>备份状态: <font color=\"'${bak_status_col}'\">'${bk_status}'</font> \\n
>备份主机: <font color=\"comment\">'${host}'</font> \\n
>备份列表: <font color=\"comment\">'${bucket_list}'</font> \\n
>备份开始时间: <font color=\"comment\">'${start_time}'</font>\\n
>备份结束时间: <font color=\"comment\">'${end_time}'</font>\\n
>备份目录: <font color=\"comment\">'${Backup_dir}'</font> \\n "
}
}'
echo -e ${contents} > ${Backup_dir}/webhook.json
curl -X POST -i -H 'Content-Type: application/json' -d @${Backup_dir}/webhook.json ${webhook_url}
本文来自博客园,作者:小星奕的快乐,转载请注明原文链接:https://www.cnblogs.com/superzed/articles/17069674.html

浙公网安备 33010602011771号