EΡ‰Π΅ ΠΎΠ΄ΠΈΠ½ бэкап β€” большС, Ρ‡Π΅ΠΌ скрипт, ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ систСма

БистСм Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования мноТСство, Π½ΠΎ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли обслуТиваСмыС сСрвСра разбросаны ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ Ρ€Π΅Π³ΠΈΠΎΠ½Π°ΠΌ ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ срСдствами ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы?

EΡ‰Π΅ ΠΎΠ΄ΠΈΠ½ бэкап — большС, Ρ‡Π΅ΠΌ скрипт, ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ систСма

Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь, Habr!
МСня Π·ΠΎΠ²ΡƒΡ‚ ΠΠ°Ρ‚Π°Π»ΡŒΡ. Π― Ρ‚ΠΈΠΌΠ»ΠΈΠ΄ Π³Ρ€ΡƒΠΏΠΏΡ‹ администраторов ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² НПО Β«ΠšΡ€ΠΈΡΡ‚Π°Β». ΠœΡ‹ Ops для Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² нашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. Π£ нас довольно своСобразная ситуация: ΠΌΡ‹ устанавливаСм ΠΈ сопровоТдаСм нашС ПО ΠΊΠ°ΠΊ Π½Π° сСрвСрах нашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΈ Π½Π° сСрвСрах, располоТСнных Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ². ΠŸΡ€ΠΈ этом Π±ΡΠΊΠ°ΠΏΠΈΡ‚ΡŒ сСрвСр Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Π½Π΅Ρ‚ нСобходимости. Π’Π°ΠΆΠ½Ρ‹ лишь «сущСствСнныС Π΄Π°Π½Π½Ρ‹Π΅Β»: Π‘Π£Π‘Π” ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ (ΠΈΠ»ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚) свои Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Ρ‹ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования ΠΈ часто ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π½Π΅ΠΊΠΎΠ΅ внСшнСС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ для складывания Ρ‚ΡƒΠ΄Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ. Π’ этом случаС послС создания бэкапа ΠΌΡ‹ обСспСчиваСм ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Π²ΠΎ внСшнСС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.

КакоС-Ρ‚ΠΎ врСмя для Ρ†Π΅Π»Π΅ΠΉ бэкапа ΠΌΡ‹ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ bash-скриптом, Π½ΠΎ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ разрастания Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² настроСк ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ росла ΠΈ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎΡΡ‚ΡŒ этого скрипта, ΠΈ Π² ΠΎΠ΄ΠΈΠ½ прСкрасный ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΡ‹ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ нСобходимости Π΅Π³ΠΎ Β«Ρ€Π°Π·Ρ€ΡƒΡˆΠΈΡ‚ΡŒ Π΄ΠΎ основанья, Π° Π·Π°Ρ‚Π΅ΠΌ….Β».

Π“ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π΅ подошли ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ: ΠΈΠ·-Π·Π° нСобходимости Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ бэкапов, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ хранСния бэкапов локально Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, слоТности настройки, импортозамСщСния, ограничСния доступа.

Нам показалось, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ своё. ΠŸΡ€ΠΈ этом Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅, Ρ‡Π΅Π³ΠΎ Ρ…Π²Π°Ρ‚ΠΈΡ‚ для нашСй ситуации Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ N Π»Π΅Ρ‚, Π½ΠΎ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ области примСнСния.

Условия Π·Π°Π΄Π°Ρ‡ΠΈ Π±Ρ‹Π»ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

  1. Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ инстанс бэкапа Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ΅Π½, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ локально
  2. Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ ΠΈ Π»ΠΎΠ³ΠΎΠ² всСгда Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… сСти ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°
  3. инстанс состоит ΠΈΠ· ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ – Ρ‚Π°ΠΊΠΎΠΉ своСобразный «конструктор»
  4. Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ дистрибутивами Linux, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Π° ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΊΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ
  5. для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с инстансом достаточно доступа ΠΏΠΎ ssh, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ
  6. максимальная простота настройки ΠΈ эксплуатации
  7. Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ (Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ) сущСствованиС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ инстанса, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ состояниС бэкапов с Ρ€Π°Π·Π½Ρ‹Ρ… сСрвСров

Π’ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ нас ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ здСсь: github.com/javister/krista-backup
ПО написано Π½Π° python3; Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Debian, Ubuntu, CentOS, AstraLinux 1.6.

ДокумСнтация Π²Ρ‹Π»ΠΎΠΆΠ΅Π½Π° Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ docs рСпозитария.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ понятия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ систСма:
action – дСйствиС, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠ΄Π½Ρƒ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ (бэкап Π‘Π”, бэкап ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, пСрСнос ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° А Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π‘ ΠΈ Ρ‚. Π΄.). Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ actions Π»Π΅ΠΆΠ°Ρ‚ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ core/actions
task – Π·Π°Π΄Π°Π½ΠΈΠ΅, Π½Π°Π±ΠΎΡ€ actions, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠ΄Π½Ρƒ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Β«Π·Π°Π΄Π°Ρ‡Ρƒ бэкапа»
schedule – расписаниС, Π½Π°Π±ΠΎΡ€ task с ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния Π·Π°Π΄Π°Ρ‡ΠΈ

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ бэкапа хранится Π² yaml-Ρ„Π°ΠΉΠ»Π΅; общая структура ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°:

  • ΠΎΠ±Ρ‰ΠΈΠ΅ настройки
  • Ρ€Π°Π·Π΄Π΅Π» actions: описаниС дСйствий, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π½Π° этом сСрвСрС
  • Ρ€Π°Π·Π΄Π΅Π» schedule: описаниС всСх Π·Π°Π΄Π°Π½ΠΈΠΉ (Π½Π°Π±ΠΎΡ€ΠΎΠ² дСйствий) ΠΈ расписаниС ΠΈΡ… запуска ΠΏΠΎ ΠΊΡ€ΠΎΠ½Ρƒ, Ссли Ρ‚Π°ΠΊΠΎΠΉ запуск трСбуСтся

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ здСсь

Π§Ρ‚ΠΎ ΡƒΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚:

  • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ основныС для нас ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ: бэкап PostgreSQL Ρ‡Π΅Ρ€Π΅Π· pg_dump, бэкап ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Ρ‡Π΅Ρ€Π΅Π· tar; ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с внСшним Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ; rsync ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌΠΈ; ротация бэкапов (ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ старых ΠΊΠΎΠΏΠΈΠΉ)
  • Π²Ρ‹Π·ΠΎΠ² внСшнСго скрипта
  • Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ задания
    /opt/KristaBackup/KristaBackup.py run make_full_dump
  • ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ (ΠΈΠ»ΠΈ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ) Π² ΠΊΡ€ΠΎΠ½Ρ‚Π°Π±Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ всС расписаниС
    /opt/KristaBackup/KristaBackup.py enable all
  • гСнСрация Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€-Ρ„Π°ΠΉΠ»Π° ΠΏΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ бэкапа. Π­Ρ‚Π° функция ΠΏΠΎΠ»Π΅Π·Π½Π° Π² связкС с Zabbix для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° бэкапов
  • ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ„ΠΎΠ½Π΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ webapi ΠΈΠ»ΠΈ web
    /opt/KristaBackup/KristaBackup.py web start [--api]

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ: Π² webapi Π½Π΅Ρ‚ собствСнно Π²Π΅Π±-интСрфСйса, Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π½Π° запросы Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ инстанса. Для Ρ€Π΅ΠΆΠΈΠΌΠ° web Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ flask ΠΈ нСсколько Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π° это Π½Π΅ Π²Π΅Π·Π΄Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² сСртифицированной AstraLinux SE.

Π§Π΅Ρ€Π΅Π· Π²Π΅Π±-интСрфСйс ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ состояниС ΠΈ Π»ΠΎΠ³ΠΈ бэкапов ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… сСрвСров: Β«Π²Π΅Π±-инстанс» Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ с «бэкап-инстансов» Ρ‡Π΅Ρ€Π΅Π· API. Доступ ΠΊ web Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ, доступ ΠΊ webapi – Π½Π΅Ρ‚.

EΡ‰Π΅ ΠΎΠ΄ΠΈΠ½ бэкап — большС, Ρ‡Π΅ΠΌ скрипт, ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ систСма

Π›ΠΎΠ³ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ… бэкапов Ρ€Π°Π·ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ Ρ†Π²Π΅Ρ‚ΠΎΠΌ: warning – ΠΆΠ΅Π»Ρ‚Ρ‹ΠΌ, error – красным.

EΡ‰Π΅ ΠΎΠ΄ΠΈΠ½ бэкап — большС, Ρ‡Π΅ΠΌ скрипт, ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ систСма

EΡ‰Π΅ ΠΎΠ΄ΠΈΠ½ бэкап — большС, Ρ‡Π΅ΠΌ скрипт, ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ систСма

Если администратору Π½Π΅ Π½ΡƒΠΆΠ½Π° ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° ΠΏΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ ΠΈ сСрвСрныС ОБ ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚.

РаспространяСм ΠΌΡ‹ эту ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ Π² основном Ρ‡Π΅Ρ€Π΅Π· Ansible, выкатывая сначала Π½Π° Ρ‡Π°ΡΡ‚ΡŒ Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… сСрвСров, Π° послС тСстирования Π½Π° всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΡƒΡŽ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΡƒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ копирования, ΠΏΠΎΠ΄Π΄Π°ΡŽΡ‰ΡƒΡŽΡΡ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΡƒΡŽ для эксплуатации Π΄Π°ΠΆΠ΅ ΠΌΠ°Π»ΠΎΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌΠΈ администраторами. Нам ΡƒΠ΄ΠΎΠ±Π½ΠΎ – ΠΌΠΎΠΆΠ΅Ρ‚, пригодится ΠΈ Π²Π°ΠΌ?

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ