一般而言,etcd都是集群部署,其实并不须要额外备份,但实在是架不住猪队友误操做。rest
写一个简单的etcd备份脚本以下:code
#!/bin/bash set -e exec >> /var/log/backup_etcd.log Date=`date +%Y-%m-%d-%H-%M` EtcdEndpoints="localhost:2379" EtcdCmd="/usr/bin/etcdctl" BackupDir="/home/www/server/backup/etcd" BackupFile="snapshot.db.$Date" echo "`date` backup etcd..." export ETCDCTL_API=3 $EtcdCmd --endpoints $EtcdEndpoints snapshot save $BackupDir/$BackupFile echo "`date` backup done!"
etcdctl snapshot restore snapshot.db.2019-05-21-10-02 -data-dir /home/www/server/etcd
参数说明:server