34 lines
		
	
	
		
			815 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			815 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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"
 |