34 lines
815 B
Plaintext
34 lines
815 B
Plaintext
|
#!/bin/bash
|
||
|
|
||
|
PATH=/opt/wamblee/etcd/bin:$PATH
|
||
|
|
||
|
if [[ $# -ne 1 ]]
|
||
|
then
|
||
|
echo "Usage: $0 <backupname>" 1>&2
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
BACKUP="$1"
|
||
|
|
||
|
|
||
|
IMAGE="$( /opt/wamblee/etcd/bin/docker ps | awk '/\/etcd$/ { print $2}' )"
|
||
|
if [[ -z "$IMAGE" ]]
|
||
|
then
|
||
|
echo "$0: could not create backup" 1>&2
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
docker run --network host \
|
||
|
-v /etc/kubernetes/pki/etcd:/etc/kubernetes/pki/etcd \
|
||
|
-v /var/lib/wamblee/etcd:/var/lib/wamblee/etcd \
|
||
|
--rm "$IMAGE" sh -c "etcdctl \
|
||
|
--endpoints=https://127.0.0.1:2379 \
|
||
|
--cacert=/etc/kubernetes/pki/etcd/ca.crt \
|
||
|
--cert=/etc/kubernetes/pki/etcd/healthcheck-client.crt \
|
||
|
--key=/etc/kubernetes/pki/etcd/healthcheck-client.key \
|
||
|
snapshot save /var/lib/wamblee/etcd/$BACKUP"
|
||
|
|
||
|
echo "IMAGE=$IMAGE" > /var/lib/wamblee/etcd/etcdimage
|
||
|
|
||
|
echo "Backup done at /var/lib/wamblee/etcd/$BACKUP"
|