Open dan-aksenov opened 3 years ago
Добрый день! В данный момент такой возможности, к сожалению, нет, но мы возьмем на заметку.
Небольшое замечание по документации. Из-за того что она полностью расположена на одной странице - читать ее очень не удобно.
Это вызвано тем, что документация организована по аналогии с постгресовой документацией, где у каждой утилиты одна отдельная страница.
Делал такой скрипт для cron-а.
#!/bin/bash
# массив ip адресов dcs(etcd,consul и т.д.) с которых можно брать информацию о patroni
dcs_ips=(172.18.1.2 172.18.1.8 172.18.1.9)
# порт dcs по которому опрашиваем
dcs_port=2379
# параметр из конфига patroni 'namespace'
patroni_namespace=pg-node-test.mhd
# параметр из конфига patroni 'scope'
patroni_scope=11-main
# директория бэкапов
pg_probackup_dir=/archive/pg_probackup/
# название инстанса в pg_probackup
pg_probackup_instance=pg-node-test
for dcs_ip in ${dcs_ips[@]}
do
if [[ `curl -Is -K HEAD $dcs_ip:$dcs_port/v2/keys/$patroni_namespace/$patroni_scope/leader |head -n 1|sed 's/\r//g'` = "HTTP/1.1 200 OK" ]]
then
echo "dcs_ip: $dcs_ip"
leader=`curl -s $dcs_ip:$dcs_port/v2/keys/$patroni_namespace/$patroni_scope/leader | jq '.node.value' | sed 's|"||g'`
echo "leader: $leader"
conn_info=`curl -s $dcs_ip:$dcs_port/v2/keys/$patroni_namespace/$patroni_scope/members/$leader|jq '.node.value' | sed 's|.*conn_url||' | sed 's|/postgres.*||' | sed 's|.*//||'`
echo "conn_info: $conn_info"
break
fi
done
ip=`echo $conn_info|cut -d: -f 1`
echo "conn_info_ip: $ip"
port=`echo $conn_info|cut -d: -f 2`
echo "conn_info_port: $port"
pg_probackup-11 backup -B $pg_probackup_dir --instance $pg_probackup_instance -b DELTA --stream --merge-expired --delete-wal --remote-host=$ip --remote-port=22 --pghost=$ip --pgport=$port --log-level-file=VERBOSE --log-level-console=INFO
# Отчет на почту
echo ''
pg_probackup-11 show -B $pg_probackup_dir --instance $pg_probackup_instance
echo ''
pg_probackup-11 show -B $pg_probackup_dir --instance $pg_probackup_instance --archive
Добрый день! Подскажите, не появилась ли возможность указывать множественные remote-host, в случае снятия РК при использовании patroni?
В документации сказано, что в командной строке или в файле pg_probackup.conf следует указывать параметр "remote-host" для снятия копии с удаленного сервера через ssh.
Но как поступить в том случае, если я использую patroni, и ведущий сервер может поменяться местами с ведомым в любой момент?
Не нашел в документации возможности указывать несколько удаленных адресов, как умеет pgbackrest.
Небольшое замечание по документации. Из-за того что она полностью расположена на одной странице - читать ее очень не удобно.