Π Π΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠ°ΡΠΎΠ»ΠΈ Π² Π½Π°Π΄ΡΠΆΠ½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅.
ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΉΠ» secrets.txt
Ρ ΠΏΠ°ΡΠΎΠ»ΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
for name in mongodb clickhouse keycloak minio data-management-service; do container_id=$(docker ps | grep visiology3_${name} | awk '{ print $1 }'); \ docker exec ${container_id} ls /run/secrets | \ xargs -I {} docker exec -i ${container_id} sh -c 'echo -n "{}: "; cat /run/secrets/{}; echo ""' >> secrets.txt done
ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, Π³Π΄Π΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½Π°Ρ ΠΊΠΎΠΏΠΈΡ:
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ Π½Π° Ρ ΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ:
backup_service_id=$(docker ps --format "{{.Names}}" --filter name=visiology3_backup-service) && \
docker exec ${backup_service_id} curl -sLv --request POST --url http://127.0.0.1:8000 --header 'Content-Type: application/json' \
--data '{"command": "backup","databases": ["mongo", "clickhouse", "postgres"],"is_cleanup": true,"options": {"clickhouse": {"with_data": true}}}'
Π ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡe "databases"
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΡ:
mongo
- ΠΊΠΎΠΏΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΡΠ°Π½ΡΡΡΡ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π°Π±ΠΎΡΠΎΠ² Π΄Π°Π½Π½ΡΡ , ΡΠ°Π±ΠΎΡΠΈΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ, ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ° ΠΈ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠ²;clickhouse
- ΠΊΠΎΠΏΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΡΠ°Π½ΡΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅;postgres
- ΠΊΠΎΠΏΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΡΠ°Π½ΡΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Keycloak (ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΏΡ.);Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
"databases"
- ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ;
Π ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ "is_cleanup"
ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ true
Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ ΠΏΠ°ΠΏΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ Π±ΡΠΊΠ°ΠΏ, ΠΈΠ»ΠΈ false
, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΎΡΠΈΡΠ°ΡΡ Π΅Ρ (ΠΏΡΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ true
ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ v3/backup
ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΎΡΠΈΡΡΠΊΠ° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² clickhouse
, mongo
ΠΈΠ»ΠΈ postgres
(Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ "databases"
).
Π ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ "clickhouse": "with_data"
ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ true
Π΄Π»Ρ Π±ΡΠΊΠ°ΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ClickHouse ΠΈΠ»ΠΈ false
Π΄Π»Ρ Π±ΡΠΊΠ°ΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡ Π±Π΅Π· Π΄Π°Π½Π½ΡΡ
.
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½Π°Ρ ΠΊΠΎΠΏΠΈΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅
/var/lib/visiology/scripts/v3/backup
.ΠΠ°ΠΏΠ°ΠΊΡΠΉΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΡΡΡΡ ΠΏΠ°ΠΏΠΊΡ Π² Π°ΡΡ ΠΈΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,Β
backup-v3.tar.gz
, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:tar -czvf backup-v3.tar.gz -C /var/lib/visiology/scripts/v3/backup .
(ΡΠΎΡΠΊΠ° Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π²ΡΡΠ΅ Π²Π°ΠΆΠ½Π°)
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ Π°ΡΡ ΠΈΠ²Π°ΡΠΈΡ ΠΈ ΡΡΠ°Π·Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΏ. 4 ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ .
Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅
ΠΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
ΠΈΠ· ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ
ΠΡΠ΅ΠΌΡ ΡΡΠ΅Π½ΠΈΡ: 1 ΠΌΠΈΠ½.
ΠΡΠΆΠ½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΠΎΠΌΠΎΡΡ?
Π‘Π²ΡΠΆΠΈΡΠ΅ΡΡ Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ.
Β