50 lines
1.3 KiB
Plaintext
50 lines
1.3 KiB
Plaintext
![]() |
#!/bin/bash
|
||
|
{# LIST="
|
||
|
/etc/etcd
|
||
|
/etc/ssl/etcd
|
||
|
{{data_dir}}
|
||
|
"
|
||
|
#}
|
||
|
{# KLOUDS_ETC_PATH=${KLOUDS_ETC_PATH:-{{klouds_etc_path | default(value="/etc/klouds")}}}
|
||
|
KLOUDS_LIB_PATH=${KLOUDS_LIB_PATH:-{{klouds_lib_path | default(value="/var/lib/klouds")}}}
|
||
|
KLOUDS_SAVE_PATH=${KLOUDS_SAVE_PATH:-{{klouds_save_path | default(value="/var/lib/klouds/save")}}}
|
||
|
|
||
|
[ -r "$KLOUDS_ETC_PATH/backup_env" ] && . "$KLOUDS_ETC_PATH/backup_env"
|
||
|
#}
|
||
|
|
||
|
_etcd_cmd() {
|
||
|
sudo etcdctl \
|
||
|
--endpoints {{taskserv.etcd_protocol}}://{{taskserv.peer_ip}}:{{taskserv.peer_port}} \
|
||
|
{% if taskserv.ssl_mode != "" -%}
|
||
|
--cacert /etc/ssl/etcd/ca.crt \
|
||
|
--cert /etc/ssl/etcd/{{taskserv.cluster_name}}.crt \
|
||
|
--key /etc/ssl/etcd/{{taskserv.cluster_name}}.key \
|
||
|
{%- endif %}
|
||
|
$*
|
||
|
}
|
||
|
|
||
|
_make_snapshot() {
|
||
|
[ -z "$1" ] && echo "No path to create etcd snapshot" && exit 1
|
||
|
_etcd_cmd snapshot save "$1"
|
||
|
}
|
||
|
|
||
|
_verify_snapshot() {
|
||
|
[ -z "$1" ] && echo "No path to verify etcd snapshot" && exit 1
|
||
|
[ -r "$1" ] && echo "No path fount to verify etcd snapshot" && exit 1
|
||
|
_etcd_cmd --write-out=table snapshot status "$1"
|
||
|
}
|
||
|
|
||
|
_service_backup_verify() {
|
||
|
_verify_snapshot $1
|
||
|
return 0
|
||
|
}
|
||
|
_service_backup() {
|
||
|
_make_snapshot $1
|
||
|
return 0
|
||
|
}
|
||
|
_service_restore() {
|
||
|
return 0
|
||
|
}
|
||
|
{# local has_run="$(type -t _run_init)"
|
||
|
[ -n "$has_run" ] && _run_init
|
||
|
#}
|