diff --git a/DB/Database-and-theseTypes.md b/DB/Database-and-theseTypes.md
new file mode 100644
index 0000000000..7951c98004
--- /dev/null
+++ b/DB/Database-and-theseTypes.md
@@ -0,0 +1,161 @@
+# Домашнее задание к занятию "Базы данных и их типы" - `Хамуро Илья`
+
+### Задание 1
+Кейс
+Крупная строительная компания, которая также занимается проектированием и девелопментом, решила создать правильную архитектуру для работы с данными. Ниже представлены задачи, которые необходимо решить для каждой предметной области.
+
+Какие типы СУБД, на ваш взгляд, лучше всего подойдут для решения этих задач и почему?
+
+1.1. Бюджетирование проектов с дальнейшим формированием финансовых аналитических отчётов и прогнозирования рисков. СУБД должна гарантировать целостность и чёткую структуру данных.
+
+Рекомендуемая СУБД: Реляционная (PostgreSQL, Microsoft SQL Server, Oracle)
+Почему?
+
+- Требуется строгая структура, ACID-гарантии, сложные JOIN-запросы для аналитики.
+
+- Поддержка транзакций критична для финансовых данных.
+
+- Возможность интеграции с BI-инструментами (Power BI, Tableau).
+
+1.1.* Хеширование стало занимать длительно время, какое API можно использовать для ускорения работы?
+
+API: Можно использовать Redis API (кеширование промежуточных результатов) или специализированные библиотеки (например, Google CityHash для быстрого хеширования).
+
+1.2. Под каждый девелоперский проект создаётся отдельный лендинг, и все данные по лидам стекаются в CRM к маркетологам и менеджерам по продажам. Какой тип СУБД лучше использовать для лендингов и для CRM? СУБД должны быть гибкими и быстрыми.
+
+Рекомендуемые СУБД:
+
+Лендинги: Документоориентированная (MongoDB, Firebase) – гибкость, быстрое чтение/запись.
+
+CRM: Реляционная (PostgreSQL) или гибрид (MongoDB + SQL для аналитики).
+
+1.2.* Можно ли эту задачу закрыть одной СУБД? И если да, то какой именно СУБД и какой реализацией?
+
+Да, если: Использовать PostgreSQL с JSONB (гибкость для лендингов + структура для CRM).
+
+Альтернатива – MongoDB (если CRM не требует сложных JOIN).
+
+1.3. Отдел контроля качества решил создать базу по корпоративным нормам и правилам, обучающему материалу и так далее, сформированную согласно структуре компании. СУБД должна иметь простую и понятную структуру.
+
+Рекомендуемая СУБД: Графовая (Neo4j) или реляционная (PostgreSQL).
+Почему?
+
+Если данные иерархичны (например, дерево документов), подойдёт PostgreSQL с рекурсивными запросами.
+
+Если важны связи (например, правила → отделы → проекты), лучше Neo4j.
+
+1.3.* Можно ли под эту задачу использовать уже существующую СУБД из задач выше и если да, то как лучше это реализовать?
+
+Да, если: Взять PostgreSQL из 1.1 или 1.2 и добавить таблицы для документов.
+
+1.4. Департамент логистики нуждается в решении задач по быстрому формированию маршрутов доставки материалов по объектам и распределению курьеров по маршрутам с доставкой документов. СУБД должна уметь быстро работать со связями.
+
+Рекомендуемая СУБД: Графовая (Neo4j) или реляционная с гео-расширениями (PostgreSQL + PostGIS).
+Почему?
+
+Графы идеальны для маршрутизации (поиск кратчайшего пути).
+
+PostGIS удобен для работы с координатами.
+
+1.4.* Можно ли к этой СУБД подключить отдел закупок или для них лучше сформировать свою СУБД в связке с СУБД логистов?
+
+Да, если: Использовать PostgreSQL (логистика + закупки в одной схеме).
+
+Нет, если: Закупкам нужна специализированная система (например, ERP-модуль).
+
+1.5.* Можно ли все перечисленные выше задачи решить, используя одну СУБД? Если да, то какую именно?
+
+PostgreSQL (с JSONB, PostGIS, рекурсивными запросами) покрывает 90% задач:
+
+Финансы (1.1) – транзакции.
+
+CRM (1.2) – гибкость через JSONB.
+
+База знаний (1.3) – иерархии.
+
+Логистика (1.4) – PostGIS.
+
+Исключение: Для сложной маршрутизации лучше добавить Neo4j.
+
+Альтернатива:
+
+MongoDB + PostgreSQL + Redis (оптимально для масштабирования).
+
+### Задание 2 Транзакции
+
+2.1. Пользователь пополняет баланс счёта телефона, распишите пошагово, какие действия должны произойти для того, чтобы транзакция завершилась успешно. Ориентируйтесь на шесть действий.
+
+1) Старт транзакции – СУБД начинает транзакцию, блокируя необходимые данные (баланс пользователя).
+
+2) Проверка реквизитов – Система проверяет, существует ли указанный номер телефона и доступен ли для пополнения.
+
+3) Списание средств с плательщика – Если пополнение идёт с карты/кошелька, списывается сумма.
+
+4) Зачисление средств на счёт телефона – Баланс номера увеличивается на указанную сумму.
+
+5) Фиксация операции в логе – Запись о транзакции сохраняется в историю (для отката при ошибке).
+
+6) Фиксация транзакции (COMMIT) – Если все шаги успешны, транзакция завершается, изменения сохраняются.
+
+2.1.* Какие действия должны произойти, если пополнение счёта телефона происходило бы через автоплатёж?
+
+1) Проверка подписки на автоплатёж – Система проверяет, активен ли автоплатёж для данного номера.
+
+2) Проверка лимитов – Если у пользователя установлен лимит (например, "не более 1000 руб./месяц"), система проверяет, не превышен ли он.
+
+3) Автоматическое списание – Средства списываются с привязанной карты/кошелька без запроса подтверждения.
+
+4) Уведомление пользователя – После успешного пополнения отправляется SMS/email-уведомление.
+
+### Задание 3 SQL NoSQL
+
+3.1. Пять преимуществ SQL-систем перед NoSQL
+Гарантии ACID – Полная поддержка транзакций (атомарность, согласованность, изолированность, долговечность), что критично для финансовых и бизнес-приложений.
+
+Строгая схема данных – Чёткая структура таблиц, типы данных, внешние ключи. Упрощает валидацию и уменьшает риск ошибок.
+
+Мощные JOIN-запросы – Возможность сложных связей между таблицами без дублирования данных (нормализация).
+
+Зрелость и экосистема – Большой выбор инструментов (BI, ETL, ORM), обширная документация и сообщество.
+
+Универсальность – Одна СУБД (например, PostgreSQL) может закрывать задачи аналитики, транзакций и даже частично NoSQL-сценарии (через JSONB).
+
+3.1. Преимущества NewSQL перед SQL и NoSQL*
+
+NewSQL (CockroachDB, Google Spanner, YugabyteDB) – гибрид, сочетающий плюсы SQL и NoSQL:
+
+1) Перед классическим SQL:
+
+Горизонтальная масштабируемость – Распределённые кластеры без потери ACID (в отличие от шардинга в SQL).
+
+Высокая отказоустойчивость – Автоматическое восстановление при падении узлов.
+
+2) Перед NoSQL:
+
+Полная поддержка SQL-синтаксиса – JOIN, транзакции, сложные запросы без ограничений NoSQL.
+
+Гибридные модели данных – Можно использовать как реляционные таблицы, так и документы (как в MongoDB).
+
+### Задание 4. Кластеры
+
+Критерии выбора СУБД:
+
+1) Горизонтальная масштабируемость – Система должна эффективно распределять нагрузку на 1000 узлов без деградации производительности.
+
+2) Поддержка распределённых транзакций – Если нужны ACID-гарантии (например, для финансовых расчётов).
+
+3) Тип рабочих нагрузок:
+
+ OLTP (много коротких транзакций) → NewSQL (CockroachDB, YugabyteDB).
+ OLAP (аналитика, сложные агрегации) → Колоночные СУБД (ClickHouse, Apache Druid).
+Гибридные задачи → Greenplum, Vertica.
+
+4) Отказоустойчивость – Автоматическое восстановление при падении узлов.
+
+5) Скорость обработки запросов – Минимизация задержек при работе с большими данными.
+
+Если нужна аналитика → ClickHouse (MPP) – максимальная скорость агрегаций.
+
+Если нужны транзакции + масштабируемость → CockroachDB (NewSQL, Shared-Nothing).
+
+Если данные смешанные (OLTP + OLAP) → TiDB (гибридный подход).
diff --git a/DB/ELK.md b/DB/ELK.md
new file mode 100644
index 0000000000..3fa3f39b0b
--- /dev/null
+++ b/DB/ELK.md
@@ -0,0 +1,12 @@
+# Домашнее задание к занятию "ELK" - `Хамуро Илья`
+
+### Задание 1
+
+
+### Задание 2
+
+
+
+### Задание 3
+
+
diff --git a/DB/Redis_and_memcached.md b/DB/Redis_and_memcached.md
new file mode 100644
index 0000000000..ffb2e6dd21
--- /dev/null
+++ b/DB/Redis_and_memcached.md
@@ -0,0 +1,32 @@
+# Домашнее задание к занятию "Кеширование Redis/memcached" - `Хамуро Илья`
+
+### Задание 1 Кеширование
+1. Ускорение доступа к данным
+Проблема: Частые запросы к медленным источникам (базам данных, диску, API) замедляют работу приложения.
+Решение: Кеширование часто запрашиваемых данных в оперативной памяти (например, Redis, Memcached) ускоряет их получение.
+
+2. Снижение нагрузки на сервер
+Проблема: Высоконагруженный сервер (например, веб-сайт) может не справляться с большим количеством запросов.
+Решение: Кеширование страниц (например, через CDN или Nginx) снижает количество обращений к бэкенду.
+
+3. Уменьшение задержек в распределённых системах
+Проблема: Запросы к удалённым серверам (например, внешним API) могут выполняться долго.
+Решение: Локальный кеш результатов уменьшает зависимость от внешних сервисов.
+
+4. Оптимизация вычислений
+Проблема: Сложные вычисления (например, агрегация статистики) требуют много ресурсов.
+Решение: Кеширование результатов (например, в виде предварительно рассчитанных отчётов) ускоряет их получение.
+
+### Задание 2. Memcached
+
+
+
+### Задание 3. Удаление по TTL в Memcached
+Решил выполнить задание с помощью пайтон)
+
+
+
+
+### Задание 4. Запись данных в Redis
+
+
diff --git a/Disaster_Recovery.md b/Disaster_Recovery.md
new file mode 100644
index 0000000000..b241538aa8
--- /dev/null
+++ b/Disaster_Recovery.md
@@ -0,0 +1,12 @@
+# Домашнее задание к занятию "`Disaster Recovery. FHRP и Keepalived`" - `Хамуро Илья`
+
+### Задание 2
+
+
+
+
+
+
+
+
+
diff --git a/GitLab b/GitLab
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/GitLab
@@ -0,0 +1 @@
+
diff --git a/GitLab.md b/GitLab.md
new file mode 100644
index 0000000000..8268d7fa42
--- /dev/null
+++ b/GitLab.md
@@ -0,0 +1,14 @@
+# Домашнее задание к занятию "`GitLab`" - `Хамуро Илья`
+
+### Задание 1
+Я выполнял задание через готовый образ GitLab в ЯндексCloud.
+
+
+
+
+### Задание 2
+
+
+
+
+
diff --git a/Jenkins.md b/Jenkins.md
new file mode 100644
index 0000000000..37ba57d42f
--- /dev/null
+++ b/Jenkins.md
@@ -0,0 +1,77 @@
+# Домашнее задание к занятию "DevOps. CI/CD" - `Хамуро Илья`
+
+---
+
+### Задание 1
+Выполнил задание с использованием docker, без vagrant, делал работу на вм в Яндекс облаке
+
+
+
+
+
+
+
+
+
+---
+
+### Задание 2
+
+pipeline {
+ agent any
+
+ environment {
+ REPO_URL = "https://github.com/IlyaKham/sdvps-materials.git"
+ REGISTRY = "158.160.23.101:8082"
+ IMAGE = "${REGISTRY}/hello-world"
+ VERSION = "v${BUILD_NUMBER}"
+ }
+
+ stages {
+ stage('Checkout') {
+ steps {
+ echo '📥 Клонируем репозиторий...'
+ git url: "${REPO_URL}", branch: 'main'
+ }
+ }
+
+ stage('Go Test') {
+ steps {
+ echo '🧪 Запускаем go test...'
+ sh '/usr/bin/go test .'
+ }
+ }
+
+ stage('Docker Build') {
+ steps {
+ echo '🐳 Собираем Docker-образ...'
+ sh 'docker build -t ${IMAGE}:${VERSION} .'
+ }
+ }
+
+ stage('Docker Push') {
+ steps {
+ echo '📦 Публикуем в Nexus...'
+ sh '''
+ docker login ${REGISTRY} -u admin -p zaq123
+ docker push ${IMAGE}:${VERSION}
+ docker logout ${REGISTRY}
+ '''
+ }
+ }
+ }
+
+ post {
+ success {
+ echo "✅ Успешно загружено в Nexus: ${IMAGE}:${VERSION}"
+ }
+ failure {
+ echo "❌ Ошибка в пайплайне."
+ }
+ }
+}
+
+
+
+
+
diff --git a/README.md b/README.md
deleted file mode 100644
index 64ef33813a..0000000000
--- a/README.md
+++ /dev/null
@@ -1,117 +0,0 @@
-# Домашнее задание к занятию "`Название занятия`" - `Фамилия и имя студента`
-
-
-### Инструкция по выполнению домашнего задания
-
- 1. Сделайте `fork` данного репозитория к себе в Github и переименуйте его по названию или номеру занятия, например, https://github.com/имя-вашего-репозитория/git-hw или https://github.com/имя-вашего-репозитория/7-1-ansible-hw).
- 2. Выполните клонирование данного репозитория к себе на ПК с помощью команды `git clone`.
- 3. Выполните домашнее задание и заполните у себя локально этот файл README.md:
- - впишите вверху название занятия и вашу фамилию и имя
- - в каждом задании добавьте решение в требуемом виде (текст/код/скриншоты/ссылка)
- - для корректного добавления скриншотов воспользуйтесь [инструкцией "Как вставить скриншот в шаблон с решением](https://github.com/netology-code/sys-pattern-homework/blob/main/screen-instruction.md)
- - при оформлении используйте возможности языка разметки md (коротко об этом можно посмотреть в [инструкции по MarkDown](https://github.com/netology-code/sys-pattern-homework/blob/main/md-instruction.md))
- 4. После завершения работы над домашним заданием сделайте коммит (`git commit -m "comment"`) и отправьте его на Github (`git push origin`);
- 5. Для проверки домашнего задания преподавателем в личном кабинете прикрепите и отправьте ссылку на решение в виде md-файла в вашем Github.
- 6. Любые вопросы по выполнению заданий спрашивайте в чате учебной группы и/или в разделе “Вопросы по заданию” в личном кабинете.
-
-Желаем успехов в выполнении домашнего задания!
-
-### Дополнительные материалы, которые могут быть полезны для выполнения задания
-
-1. [Руководство по оформлению Markdown файлов](https://gist.github.com/Jekins/2bf2d0638163f1294637#Code)
-
----
-
-### Задание 1
-
-`Приведите ответ в свободной форме........`
-
-1. `Заполните здесь этапы выполнения, если требуется ....`
-2. `Заполните здесь этапы выполнения, если требуется ....`
-3. `Заполните здесь этапы выполнения, если требуется ....`
-4. `Заполните здесь этапы выполнения, если требуется ....`
-5. `Заполните здесь этапы выполнения, если требуется ....`
-6.
-
-```
-Поле для вставки кода...
-....
-....
-....
-....
-```
-
-`При необходимости прикрепитe сюда скриншоты
-`
-
-
----
-
-### Задание 2
-
-`Приведите ответ в свободной форме........`
-
-1. `Заполните здесь этапы выполнения, если требуется ....`
-2. `Заполните здесь этапы выполнения, если требуется ....`
-3. `Заполните здесь этапы выполнения, если требуется ....`
-4. `Заполните здесь этапы выполнения, если требуется ....`
-5. `Заполните здесь этапы выполнения, если требуется ....`
-6.
-
-```
-Поле для вставки кода...
-....
-....
-....
-....
-```
-
-`При необходимости прикрепитe сюда скриншоты
-`
-
-
----
-
-### Задание 3
-
-`Приведите ответ в свободной форме........`
-
-1. `Заполните здесь этапы выполнения, если требуется ....`
-2. `Заполните здесь этапы выполнения, если требуется ....`
-3. `Заполните здесь этапы выполнения, если требуется ....`
-4. `Заполните здесь этапы выполнения, если требуется ....`
-5. `Заполните здесь этапы выполнения, если требуется ....`
-6.
-
-```
-Поле для вставки кода...
-....
-....
-....
-....
-```
-
-`При необходимости прикрепитe сюда скриншоты
-`
-
-### Задание 4
-
-`Приведите ответ в свободной форме........`
-
-1. `Заполните здесь этапы выполнения, если требуется ....`
-2. `Заполните здесь этапы выполнения, если требуется ....`
-3. `Заполните здесь этапы выполнения, если требуется ....`
-4. `Заполните здесь этапы выполнения, если требуется ....`
-5. `Заполните здесь этапы выполнения, если требуется ....`
-6.
-
-```
-Поле для вставки кода...
-....
-....
-....
-....
-```
-
-`При необходимости прикрепитe сюда скриншоты
-`
diff --git a/Zabbix_Part1.md b/Zabbix_Part1.md
new file mode 100644
index 0000000000..27a34da456
--- /dev/null
+++ b/Zabbix_Part1.md
@@ -0,0 +1,40 @@
+# Домашнее задание к занятию "Система мониторинга Zabbix" - Хамуро Илья
+
+### Задание 1
+
+Установите Zabbix Server с веб-интерфейсом.\
+Команды:\
+$ sudo -s \
+$ wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb\
+$ dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb\
+$ apt update\
+$ apt install zabbix-server-pgsql zabbix-frontend-php php8.3-pgsql zabbix-apache-conf zabbix-sql-scripts zabbix-agent\
+$ sudo -u postgres createuser --pwprompt zabbix\
+$ sudo -u postgres createdb -O zabbix zabbix\
+$ zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix\
+$ systemctl restart zabbix-server zabbix-agent apache2\
+$ systemctl enable zabbix-server zabbix-agent apache2\
+
+
+
+
+
+### Задание 2
+
+Установите Zabbix Agent на два хоста.\
+Команды\
+$ sudo -s
+$ wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
+$ dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb
+$ apt update
+$ apt install zabbix-agent
+$ systemctl restart zabbix-agent
+$ systemctl enable zabbix-agent
+
+
+
+
+
+
+
+
diff --git a/Zabbix_Part2.md b/Zabbix_Part2.md
new file mode 100644
index 0000000000..4425b79b57
--- /dev/null
+++ b/Zabbix_Part2.md
@@ -0,0 +1,25 @@
+# Домашнее задание к занятию «Система мониторинга Zabbix. Часть 2»
+
+### Задание 1
+\
+Создайте свой шаблон, в котором будут элементы данных, мониторящие загрузку CPU и RAM хоста.\
+\
+
+
+
+### Задание 2
+Добавьте в Zabbix два хоста и задайте им имена <фамилия и инициалы-1> и <фамилия и инициалы-2>. Например: ivanovii-1 и ivanovii-2.
+
+
+
+### Задание 3
+Привяжите созданный шаблон к двум хостам. Также привяжите к обоим хостам шаблон Linux by Zabbix Agent.\
+
+
+
+
+### Задание 4
+Создайте свой кастомный дашборд.\
+
+
+
diff --git a/example b/example
new file mode 100644
index 0000000000..c08c273a6e
--- /dev/null
+++ b/example
@@ -0,0 +1,38 @@
+input {
+ file {
+ path => "/var/log/nginx/access.log"
+ start_position => "beginning"
+ sincedb_path => "/dev/null"
+ }
+}
+
+filter {
+ grok {
+ match => { "message" => '%{IPORHOST:client_ip} - - \[%{HTTPDATE:timestamp}\] "%{WORD:http_method} %{URIPATHPARAM:request} HTTP/%{NUMBER:http_version}" %{NUMBER:response_code:int} %{NUMBER:bytes_sent:int} "%{GREEDYDATA:referrer}" "%{GREEDYDATA:user_agent}" "%{GREEDYDATA:other}"' }
+ }
+
+ date {
+ match => ["timestamp", "dd/MMM/yyyy:HH:mm:ss Z"]
+ target => "@timestamp"
+ }
+
+ useragent {
+ source => "user_agent"
+ target => "user_agent_details"
+ }
+}
+
+
+
+output {
+ stdout {
+ }
+ elasticsearch {
+ hosts => [ "http://elasticsearch:9200" ]
+ index => "logs_app_gen%-%{+YYYY.MM.dd}"
+ }
+}
+
+
+
+
diff --git a/haproxy.md b/haproxy.md
new file mode 100644
index 0000000000..58c03f72b3
--- /dev/null
+++ b/haproxy.md
@@ -0,0 +1,120 @@
+# Домашнее задание к занятию "`Кластеризация и балансировка нагрузки" - `Хамуро И.А.`
+
+### Задание 1
+ global
+ log /dev/log local0
+ log /dev/log local1 notice
+ chroot /var/lib/haproxy
+ stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
+ stats timeout 30s
+ user haproxy
+ group haproxy
+ daemon
+
+ # Default SSL material locations
+ ca-base /etc/ssl/certs
+ crt-base /etc/ssl/private
+
+ # See: https://ssl-config.mozilla.org/#server=haproxy&server-version=2.0.3&config=intermediate
+ ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
+ ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
+ ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets
+
+ defaults
+ log global
+ mode tcp
+ option tcplog
+ option dontlognull
+ timeout connect 5000
+ timeout client 50000
+ timeout server 50000
+ errorfile 400 /etc/haproxy/errors/400.http
+ errorfile 403 /etc/haproxy/errors/403.http
+ errorfile 408 /etc/haproxy/errors/408.http
+ errorfile 500 /etc/haproxy/errors/500.http
+ errorfile 502 /etc/haproxy/errors/502.http
+ errorfile 503 /etc/haproxy/errors/503.http
+ errorfile 504 /etc/haproxy/errors/504.http
+
+ listen stats # веб-страница со статистикой
+ bind :888
+ mode http
+ stats enable
+ stats uri /stats
+ stats refresh 5s
+ stats realm Haproxy\ Statistics
+
+ listen web_tcp # балансировка на 4 уровне (TCP)
+ bind :1325
+ mode tcp
+ balance roundrobin
+ server s1 127.0.0.1:8888 check inter 3s
+ server s2 127.0.0.1:9999 check inter 3s
+
+
+
+
+### Задание 2
+ global
+ log /dev/log local0
+ log /dev/log local1 notice
+ chroot /var/lib/haproxy
+ stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
+ stats timeout 30s
+ user haproxy
+ group haproxy
+ daemon
+
+ # Default SSL material locations
+ ca-base /etc/ssl/certs
+ crt-base /etc/ssl/private
+
+ # See: https://ssl-config.mozilla.org/#server=haproxy&server-version=2.0.3&config=intermediate
+ ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
+ ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
+ ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets
+
+ defaults
+ log global
+ mode http
+ option httplog
+ option dontlognull
+ timeout connect 5000
+ timeout client 50000
+ timeout server 50000
+ errorfile 400 /etc/haproxy/errors/400.http
+ errorfile 403 /etc/haproxy/errors/403.http
+ errorfile 408 /etc/haproxy/errors/408.http
+ errorfile 500 /etc/haproxy/errors/500.http
+ errorfile 502 /etc/haproxy/errors/502.http
+ errorfile 503 /etc/haproxy/errors/503.http
+ errorfile 504 /etc/haproxy/errors/504.http
+
+ listen stats
+ bind :888
+ mode http
+ stats enable
+ stats uri /stats
+ stats refresh 5s
+ stats realm Haproxy\ Statistics
+
+ frontend http_front
+ bind :8080
+ mode http
+ acl is_example_local hdr(host) -i example.local
+ use_backend web_servers if is_example_local
+ default_backend no_match
+
+ backend web_servers
+ mode http
+ balance roundrobin
+ server s1 127.0.0.1:8888 weight 2 check
+ server s2 127.0.0.1:9999 weight 3 check
+ server s3 127.0.0.1:7777 weight 4 check
+
+ backend no_match
+ mode http
+ http-request deny deny_status 403
+
+
+
diff --git a/rsync.md b/rsync.md
new file mode 100644
index 0000000000..9b6c126037
--- /dev/null
+++ b/rsync.md
@@ -0,0 +1,14 @@
+# Домашнее задание к занятию "Резервное копирование" - `Хамуро И.А.`
+
+### Задание 1
+
+
+
+
+### Задание 2
+
+
+
+
+
+