SlideShare a Scribd company logo
1 of 48
Организация надежного
резервного копирования
веб-проекта
Антон Баранов
Кто я?
Антон Баранов
начальник отдела по работе с
клиентами в компании ITSumma
В прошлом - системный администратор Linux.
Более 7 лет опыта работы с Linux-системами и
web-проектами различной сложности.
Последние два года тружусь над обеспечением
стабильной работы highload-проектов для
посетителей со всего мира.
О нашей компании:
Работаем с 2008 года.
Офисы в Иркутске, Санкт-Петербурге
и Москве.
150+ клиентов на круглосуточной
поддержке.
90ТБ резервных копий.
5 оповещений о «сломавшихся»
бэкапах в сутки.
Мы поддерживаем:
Содержание доклада:
•Что бэкапить?
•Когда?
•Чем?
•Откуда?
•Как проверить бэкапы?
Внимание!
Говорим про LA(N)MP
Бэкап ломается раз в 29 дней
0 10 20 30 40 50
Люди делают бэкапы один раз в …
День 8%
Неделю 9%
Месяц 19%
Год 39%
Никогда 25%
* по статистике BackBlaze за 2015-й год
Общая информация
•Что именно нужно бэкапить?
•Типы бэкапов. Плюсы и минусы.
•Периодичность создания.
•Выбор хранилища.
Что бэкапим?
•Файлы сайтов
•Базы данных
•Конфигурационные файлы
•Список установленного ПО
•Директории с самосборными сервисами
Типы бэкапов
•Полный
•Инкрементальный
Полные бэкапы
Плюсы:
• Самодостаточен
• Прост в восстановлении
• Легко проверить
Полные бэкапы
Минусы:
• Большой объем
• Длительное время создания
• Большая нагрузка по сравнению с
инкрементальным бэкапом
Инкрементальные бэкапы
Плюсы:
• Меньше нагрузка на систему
• Для передачи нужно меньше трафика
• Занимают меньше места
Инкрементальные бэкапы
Минусы:
• Сложно проверить валидность
• Сложно восстанавливать
Периодичность создания
Один раз в сутки ночью
Периодичность создания
Основные факторы:
• Важность данных
• Объем
Периодичность создания
• Важные данные бэкапим чаще
• Объемные - реже
Период хранения
• Минимально - 1 неделя
• Идеально - бесконечно
Выбор хранилища
Не нужно хранить все яйца в одной корзине
Выбор хранилища
Плохое внешнее хранилище:
• ftp от хостера в этом же ДЦ
• сервер в офисе
• Dropbox/Яндекс.Диск
Выбор хранилища
Хорошее внешнее хранилище:
• выделенный сервер с объемными дисками
• Amazon S3 или аналоги (может быть низкая
скорость аплоада)
Выбор хранилища
Идеальный вариант:
• Локальное: отдельный диск
• Внешнее: сервер в другом ДЦ
Создание бэкапов
• Источники данных для бэкапа
• Файлы
• БД
• Конфигурационные файлы
• Особенности создания/восстановления
Источники данных
• production-сервер
• резерв
Бэкапы с production
• аффектят производительность ресурса
• проблемы с местом на дисках
• можно создавать только в определенное
время
Бэкапы с резерва
Плюсы:
• не аффектят работу ресурса
• нет ограничений по времени и способам
создания
Бэкапы с резерва
Минусы:
• нужно поддерживать резерв в актуальном
состоянии
Синхронизация на резерв
• Файлы: lsyncd (без delete)
• БД: штатные средства репликации
(реплика не является бэкапом)
Бэкапы файлов
• Небольшой объем и количество файлов -
архивация и копирование
• Большой объем данных - rsync на бэкапный
сервер
(без delete, либо в /backup/YY-MM-DD)
Бэкапы файлов
• Данных много, места мало: стриминг
tar czhf - /home/bitrix/www/ --
exclude=bitrix/managed_cache --
exclude=bitrix/stack_cache --
exclude=bitrix/cache | ssh $SSH "cat ->
${RPATH}/${FN}" ; »$LOG 2>&1 ||
die_if_tar_failed files_tar
Бэкапы файлов
Не нужно бэкапить:
• кэши
• внутренние бэкапы CMS
• логи приложения
Бэкапы БД
Инструменты:
• Mysqldump
• Percona xtrabackup
• pg_dump
Бэкапы БД
Трюки:
• отложенная репликация
pt-slave-delay или CHANGE MASTER TO
MASTER_DELAY
• репликация и резервирование бинлогов
Бэкапы конфигов
• Настройки, кроны, список установленных
пакетов, иногда - самосборное ПО
• Git в /etc + autocommit
• Системы управления конфигурациями
Неочевидные особенности бэкапов
• Процесс бэкапа БД не запускается
• Бэкапим не ту БД
• Бэкап с неактуального резерва
• Период бэкапа БД не выверен
• Процедура восстановления БД не отлажена
Неочевидные особенности бэкапов
• Восстанавливаем не той версией xtrabackup
• Нет места для распаковки
• ETA восстановления внезапно велико
• Апдейт ПО на сервере привел к
неработоспособности бэкапов
Неочевидные особенности бэкапов
• Архив битый
• Бэкап без статики
• Архив с картинками сжимается
• Бэкапы на том же сервере
• Конфиги сервера не бэкапятся
Верификация бэкапов
• Тестовый стенд
• Мониторинг процесса
• Ручные проверки
Верификация бэкапов
Непроверенный бэкап - не бэкап
Тестовый стенд
• Пять виртуалок для проверки MySQL: 5.1,
5.5, 5.6, 5.7, MariaDB 10
• Скрипты для распаковки, apply-log
• Возможность создать виртуалку для
проверки всех бэкапов проекта (БД, файлы,
конфиги)
Мониторинг процесса
• Сервер во время создания (место на диске,
нагрузка, доступность проекта)
• Вывод логов бэкапных скриптов
(innobackupex: completed OK!)
• Размер созданных бэкапов
Мониторинг процесса
• Изменение размера заливаемых бэкапов
• Дату последнего бэкапа
Ручные проверки
• Возможность распаковки бэкапа
• Проверка времени распаковки
• Проверка содержимого бэкапа
Ручные проверки
На стенде:
• Восстанавливаем БД
• Распаковываем файлы сайта
• Восстанавливаем конфиги
• Проверяем сайт в браузере
Надежный бэкап
• Содержит все необходимое для восстановления
с нуля
• Известны сроки восстановления и они
приемлемы
• Бэкап актуален
• Бэкап проверен
• Создается
Антон Баранов
https://www.facebook.com/anton.s.baranov
abaranov@itsumma.ru
https://anton-baranov.me
http://www.itsumma.ru/blog/1/
https://www.percona.com/blog/2012/01/18/b
acking-up-binary-log-files-with-mysqlbinlog/
https://www.itsumma.ru/blog/5/

More Related Content

What's hot

Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Badoo Development
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только один
Sergey Xek
 
Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломера...
Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломера...Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломера...
Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломера...
Ontico
 
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил ТюринPG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
pgdayrussia
 
ekbpy'2012 - Данила Штань - Распределенное хранилище
ekbpy'2012 - Данила Штань - Распределенное хранилищеekbpy'2012 - Данила Штань - Распределенное хранилище
ekbpy'2012 - Данила Штань - Распределенное хранилище
it-people
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаКолёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
ITCrowd Almaty
 
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
Ontico
 
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
Бинарные (файловые) хранилища- страшная сказка с мрачным концомБинарные (файловые) хранилища- страшная сказка с мрачным концом
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
Daniel Podolsky
 

What's hot (19)

Презентация: 1С-Bitrix — как начать
Презентация: 1С-Bitrix — как начатьПрезентация: 1С-Bitrix — как начать
Презентация: 1С-Bitrix — как начать
 
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
 
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только один
 
Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломера...
Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломера...Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломера...
Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломера...
 
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил ТюринPG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
 
Pgconfru 2015 kosmodemiansky
Pgconfru 2015 kosmodemianskyPgconfru 2015 kosmodemiansky
Pgconfru 2015 kosmodemiansky
 
Андрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данныхАндрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данных
 
Optimization of a big PostgreSQL database
Optimization of a big PostgreSQL databaseOptimization of a big PostgreSQL database
Optimization of a big PostgreSQL database
 
Repeatability on DevOps-40 meetup Apr 2014
Repeatability on DevOps-40 meetup Apr 2014Repeatability on DevOps-40 meetup Apr 2014
Repeatability on DevOps-40 meetup Apr 2014
 
ekbpy'2012 - Данила Штань - Распределенное хранилище
ekbpy'2012 - Данила Штань - Распределенное хранилищеekbpy'2012 - Данила Штань - Распределенное хранилище
ekbpy'2012 - Данила Штань - Распределенное хранилище
 
Salt and Ansible - Python-based CM systems
Salt and Ansible - Python-based CM systemsSalt and Ansible - Python-based CM systems
Salt and Ansible - Python-based CM systems
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаКолёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
 
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
Бинарные (файловые) хранилища: страшная сказка с мрачным концом / Даниил Подо...
 
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
Бинарные (файловые) хранилища- страшная сказка с мрачным концомБинарные (файловые) хранилища- страшная сказка с мрачным концом
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
 
Александр Зобнин, Grafana Labs
Александр Зобнин, Grafana LabsАлександр Зобнин, Grafana Labs
Александр Зобнин, Grafana Labs
 
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественноИлья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
 
опыт построения и эксплуатации большого файлового хранилища
опыт построения и эксплуатации большого файлового хранилищаопыт построения и эксплуатации большого файлового хранилища
опыт построения и эксплуатации большого файлового хранилища
 

Viewers also liked

Certamen
CertamenCertamen
Certamen
marti12
 
Circular Sobre Prueba De Nivel 1 Semestre 2009
Circular Sobre Prueba De Nivel 1 Semestre 2009Circular Sobre Prueba De Nivel 1 Semestre 2009
Circular Sobre Prueba De Nivel 1 Semestre 2009
guest21d03c7
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Anton Baranov
 
Presentation Tyre LH
Presentation Tyre LHPresentation Tyre LH
Presentation Tyre LH
Redza Amin
 

Viewers also liked (15)

Мониторинг проектов: сравнительный анализ существующих решений
Мониторинг проектов:  сравнительный анализ существующих решенийМониторинг проектов:  сравнительный анализ существующих решений
Мониторинг проектов: сравнительный анализ существующих решений
 
Life On-Call, Availa-liberty, and the Pursuit of Happiness
Life On-Call, Availa-liberty, and the Pursuit of HappinessLife On-Call, Availa-liberty, and the Pursuit of Happiness
Life On-Call, Availa-liberty, and the Pursuit of Happiness
 
Certamen
CertamenCertamen
Certamen
 
Circular Sobre Prueba De Nivel 1 Semestre 2009
Circular Sobre Prueba De Nivel 1 Semestre 2009Circular Sobre Prueba De Nivel 1 Semestre 2009
Circular Sobre Prueba De Nivel 1 Semestre 2009
 
Telugu dec final_2016
Telugu dec final_2016Telugu dec final_2016
Telugu dec final_2016
 
Taller de cobit
Taller de cobitTaller de cobit
Taller de cobit
 
Ruolo del formatore
Ruolo del formatoreRuolo del formatore
Ruolo del formatore
 
Tics
TicsTics
Tics
 
Ms windows sharepoint services 3.0 implementing - Scheda corso LEN
Ms windows sharepoint services 3.0 implementing - Scheda corso LENMs windows sharepoint services 3.0 implementing - Scheda corso LEN
Ms windows sharepoint services 3.0 implementing - Scheda corso LEN
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
 
Presentation Tyre LH
Presentation Tyre LHPresentation Tyre LH
Presentation Tyre LH
 
ECOLOGIA EN EL MANEJO DE FAUNA SILVESTRE
ECOLOGIA EN EL MANEJO DE FAUNA SILVESTREECOLOGIA EN EL MANEJO DE FAUNA SILVESTRE
ECOLOGIA EN EL MANEJO DE FAUNA SILVESTRE
 
Laresponsabilidadenelprocesoeducativo 160427172712
Laresponsabilidadenelprocesoeducativo 160427172712Laresponsabilidadenelprocesoeducativo 160427172712
Laresponsabilidadenelprocesoeducativo 160427172712
 
Biotech and innovative breeding for the new Agri-Food System CGIAR Research P...
Biotech and innovative breeding for the new Agri-Food System CGIAR Research P...Biotech and innovative breeding for the new Agri-Food System CGIAR Research P...
Biotech and innovative breeding for the new Agri-Food System CGIAR Research P...
 
El mundo de los famosos en internet
El mundo de los famosos en internetEl mundo de los famosos en internet
El mundo de los famosos en internet
 

Similar to Организация надежного резервного копирования веб-проекта. Практика и подводные камни

Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Ontico
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данных
Sergey Xek
 
Оптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на JavaОптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на Java
Alex Chistyakov
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)
Ontico
 
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для MacКонстантин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
404fest
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)
Ontico
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данных
Sergey Xek
 
Не все базы данных одинаково полезны
Не все базы данных одинаково полезныНе все базы данных одинаково полезны
Не все базы данных одинаково полезны
Sergey Xek
 
Не все базы данных одинаково полезны
Не все базы данных одинаково полезныНе все базы данных одинаково полезны
Не все базы данных одинаково полезны
Sergey Xek
 
Мобильность на Колёсах: об инструментах и полезных вещах
Мобильность на Колёсах: об инструментах и полезных вещахМобильность на Колёсах: об инструментах и полезных вещах
Мобильность на Колёсах: об инструментах и полезных вещах
ITCrowd Almaty
 

Similar to Организация надежного резервного копирования веб-проекта. Практика и подводные камни (20)

Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
Цикл разработки и внедрения функционала в Мамбе (Михаил Буйлов)
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данных
 
Оптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на JavaОптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на Java
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)
 
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для MacКонстантин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
 
Самые частые проблемы и пути решения при росте нагрузки и масштабировании про...
Самые частые проблемы и пути решения при росте нагрузки и масштабировании про...Самые частые проблемы и пути решения при росте нагрузки и масштабировании про...
Самые частые проблемы и пути решения при росте нагрузки и масштабировании про...
 
Самые частые проблемы и пути решения при росте нагрузки и масштабировании про...
Самые частые проблемы и пути решения при росте нагрузки и масштабировании про...Самые частые проблемы и пути решения при росте нагрузки и масштабировании про...
Самые частые проблемы и пути решения при росте нагрузки и масштабировании про...
 
Как делать backup MySQL
Как делать backup MySQLКак делать backup MySQL
Как делать backup MySQL
 
Доклад Ильи Сотникова на SPCUA 2012
Доклад Ильи Сотникова на SPCUA 2012Доклад Ильи Сотникова на SPCUA 2012
Доклад Ильи Сотникова на SPCUA 2012
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данных
 
FrontDays #1. Илья Кучмин, Оптимизация загрузки тяжелых страниц
FrontDays #1. Илья Кучмин, Оптимизация загрузки тяжелых страницFrontDays #1. Илья Кучмин, Оптимизация загрузки тяжелых страниц
FrontDays #1. Илья Кучмин, Оптимизация загрузки тяжелых страниц
 
Выступление Сергея Аверина, Badoo, на High Performance Conference
Выступление Сергея Аверина, Badoo, на High Performance ConferenceВыступление Сергея Аверина, Badoo, на High Performance Conference
Выступление Сергея Аверина, Badoo, на High Performance Conference
 
Не все базы данных одинаково полезны
Не все базы данных одинаково полезныНе все базы данных одинаково полезны
Не все базы данных одинаково полезны
 
Не все базы данных одинаково полезны
Не все базы данных одинаково полезныНе все базы данных одинаково полезны
Не все базы данных одинаково полезны
 
Мобильность на Колёсах: об инструментах и полезных вещах
Мобильность на Колёсах: об инструментах и полезных вещахМобильность на Колёсах: об инструментах и полезных вещах
Мобильность на Колёсах: об инструментах и полезных вещах
 
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
 
Построение системы аналитики
Построение системы аналитикиПостроение системы аналитики
Построение системы аналитики
 
Диагностика postgresql для системного администратора
Диагностика postgresql для системного администратораДиагностика postgresql для системного администратора
Диагностика postgresql для системного администратора
 
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
 

Организация надежного резервного копирования веб-проекта. Практика и подводные камни