38.B站薪享宏福笔记——第十三章(3)Etcd BackUP
13 B站薪享宏福笔记——第十三章
—— Kubernetes 中必备的工具组件
13.3 Etcd backup
13.3 生产中的备份脚本
[root@master01 ~]# cat /opt/etcd/etcd_snapshot.sh #!/bin/bash # 配置参数(根据实际环境修改) WORK_DIR="/opt/etcd" BACKUP_DIR="/data/etcd/snapshot" # 备份存储路径 RETENTION_DAYS=7 # 保留最近7天备份 ETCDCTL_API=3 # 使用v3 API ENDPOINTS="https://10.30.129.120:2379" # etcd访问地址 CA_CERT=${WORK_DIR}"/ssl/ca.pem" # TLS证书路径 CERT=${WORK_DIR}"/ssl/server.pem" KEY=${WORK_DIR}"/ssl/server-key.pem" # 创建备份目录 mkdir -p ${BACKUP_DIR} # 生成时间戳格式的备份文件名 BACKUP_FILE="${BACKUP_DIR}/etcd-snapshot-$(date +%Y%m%d%H%M%S).db" # 执行备份(使用etcdctl内置快照功能) ${WORK_DIR}/bin/etcdctl --cacert=${CA_CERT} --cert=${CERT} --key=${KEY} \ --endpoints=${ENDPOINTS} snapshot save ${BACKUP_FILE} # 检查备份是否成功 if [ $? -eq 0 ]; then echo "Backup succeeded: ${BACKUP_FILE}" else echo "Backup failed!" >&2 exit 1 fi # 清理过期备份(保留最近N天) find ${BACKUP_DIR} -type f -name "etcd-snapshot-*.db" -mtime +${RETENTION_DAYS} -exec rm -f {} \;
———————————————————————————————————————————————————————————————————————————
无敌小马爱学习
浙公网安备 33010602011771号