Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
software:nas:configure_rsync_mirror_separate_folder [2025/03/28 18:05] – [Настройка службы rsync] vladpolskiy | software:nas:configure_rsync_mirror_separate_folder [2025/03/29 12:27] (текущий) – [Настройка Планеровщика задач] vladpolskiy |
---|
<fc #22b14c>Программы, которые можно установить с помощью Центра приложений или любого другого пакетного менеджера, хранятся в репозиториях. Репозитории представляют из себя обычное хранилище пакетов и специальных файлов, доступное через интернет. Поэтому у каждого репозитория есть свой адрес. Например, официальные основные репозитории Ubuntu находятся по адресу</fc> [[http://archive.ubuntu.com/ubuntu/|http://archive.ubuntu.com/ubuntu]]. | <fc #22b14c>Программы, которые можно установить с помощью Центра приложений или любого другого пакетного менеджера, хранятся в репозиториях. Репозитории представляют из себя обычное хранилище пакетов и специальных файлов, доступное через интернет. Поэтому у каждого репозитория есть свой адрес. Например, официальные основные репозитории Ubuntu находятся по адресу</fc> [[http://archive.ubuntu.com/ubuntu/|http://archive.ubuntu.com/ubuntu]]. |
=====Введение===== | =====Введение===== |
Ниже описываются шаги по созданию репозитория в отдельной папке при настроеном Web-сервере на Synology Nas в DSM 7.2, т.е. когда на страницах основного сайта представлены ссылки для загруски на репозиторий зеркал, находящийся на этом же Web-сервере. | Ниже описываются шаги по созданию репозитория в отдельной папке при настроеном Web-сервере на Synology Nas в DSM 7.2, т.е. когда на страницах основного сайта представлены ссылки для загрузки на репозиторий зеркал, находящийся на этом же Web-сервере. |
=====Подготовка к работе===== | =====Подготовка к работе===== |
Настройка Web-сервера и службы rsync описаны в статье [[software:nas:configure_rsync_mirror|Настройка Rsync зеркал репозиториев на DSM 7.2]]. Поэтому повторятся не будем, а перейдем к созданию папок, настройке **службы rsync**, созданию **скриптов** и **планировщику задач** на Synology Nas в DSM 7.2 | Настройка Web-сервера и службы rsync описаны в статье [[software:nas:configure_rsync_mirror|Настройка Rsync зеркал репозиториев на DSM 7.2]]. Поэтому повторятся не будем, а перейдем к созданию папок, настройке **службы rsync**, созданию **скриптов** и **планировщику задач** на Synology Nas в DSM 7.2 |
Создадим в корне сайта папку для нашего репозитория, в примере папка будет называться **repo**. В ней будут распологаться папки зеркал и скрытую папку для скриптов, в примере папка будет называться **.scripts**. | Создадим в корне сайта папку для нашего репозитория, в примере папка будет называться **repo**. В ней будут распологаться папки зеркал и скрытую папку для скриптов, в примере папка будет называться **.scripts**. |
{{:software:nas:nas_repo_rsync_new_folder_1.png?|}} | {{:software:nas:nas_repo_rsync_new_folder_1.png?|}} |
| ===Файл .htaccess=== |
| <fc #22b14c>В Notepad++ на локальной машине создадим файл **.htaccess** — это локальный конфигурационный файл веб-сервера Apache, который позволяет управлять настройками сайта, с содержанием одной единственной строки</fc> |
| <code> |
| Options +Indexes |
| </code> |
| {{:software:nas:rsync_mirror_dsm_18.png?|}} |
| <fc #22b14c>и сохраняем как, указываем имя:.htaccess и тип файла:"все файлы".</fc> |
| {{:software:nas:rsync_mirror_dsm_19.png?|}} |
| <fc #22b14c>Перетаскиваем файл .htaccess в окно программы File Station</fc> |
| {{:software:nas:rsync_mirror_dsm_20.png?|}} |
| <fc #22b14c>В браузере вводим IP адрес нашего сервера и убеждаемся, что индексация папок работает.</fc> |
| {{:software:nas:rsync_mirror_dsm_21.png?|}} |
| <note blue> |
| <fc #22b14c>**Примечание** Без файла .htaccess Synology запрещает доступ к странице без файла index.html, index.php и т.д. и необходимо редактировать конфигурационный файл пакета Apache HTTP Server 2.4, что требует определенных навыков в работе с Synology. |
| Файл .htaccess можно создать средствами пакета Synology Office, который установит нам кучу не нужных для зеркала пакетов, а после все не нужное удалить.</fc> |
| {{:software:nas:rsync_mirror_dsm_22.png?|}} |
| </note> |
| |
| |
| ====Настройка Роутера==== |
| <fc #22b14c>Выполняем на роуторе переадресацию портов **873** для **rsync** и **22** для **SSH** на наш Nas Synology</fc> |
| {{:software:nas:rsync_mirror_dsm_44.png?|}} |
==== Настройка службы rsync ==== | ==== Настройка службы rsync ==== |
Подключимся к Synology Nas [[software:nas:putty|Putty]] - клиентскую программу для работы с сетевым протоколом SSH и перейдем в каталог etc. | Подключимся к Synology Nas [[software:nas:putty|Putty]] - клиентскую программу для работы с сетевым протоколом SSH и перейдем в каталог etc. |
**ESC :wq** для сохранения и выхода из редактора vi | **ESC :wq** для сохранения и выхода из редактора vi |
{{:software:nas:nas_repo_rsync_new_folder_5.png?|}} | {{:software:nas:nas_repo_rsync_new_folder_5.png?|}} |
| ====Создание скриптов==== |
| В папке **.scripts** создадим файл скрипта загрузки **mirror_ubuntu.sh** и файл исключения при зеркалировании **mirror_ubuntu_list.txt** |
| {{:software:nas:nas_repo_rsync_new_folder_6.png?|}} |
| в файле скрипта пропишем следующее |
| <code bash> |
| #!/bin/bash -x |
| rsync -avr --exclude-from='/volume1/web/.scripts/mirror_ubuntu_list.txt' rsync://archive.ubuntu.com/ubuntu/ /volume1/web/repo/ubuntu/ |
| </code> |
| **rsync** - загрузить зеркало с адреса **%%rsync://archive.ubuntu.com/ubuntu/%%** в каталог **%%/volume1/web/repo/ubuntu/%%** исключив указанное в файле **%%/volume1/web/repo/.scripts/mirror_ubuntu_list.txt%%** |
| {{:software:nas:nas_repo_rsync_new_folder_7.png?|}} |
| в файле **mirror_ubuntu_list.txt** укажем директории архива Ubuntu которые планируем исключить |
| <details><summary>«См.вариант исключения»</summary>:!: оставим для зеркалирования только свежие релизы Ubuntu focal, jammy и noble. Остальные исключим за ненадобностью и экономией места на диске |
| <code bash> |
| dists/bionic-backports/ |
| dists/bionic-proposed/ |
| dists/bionic-security/ |
| dists/bionic-updates/ |
| dists/bionic/ |
| dists/devel-backports/ |
| dists/devel-proposed/ |
| dists/devel-security/ |
| dists/devel-updates/ |
| dists/devel/ |
| dists/oracular-backports/ |
| dists/oracular-proposed/ |
| dists/oracular-security/ |
| dists/oracular-updates/ |
| dists/oracular/ |
| dists/plucky-backports/ |
| dists/plucky-proposed/ |
| dists/plucky-security/ |
| dists/plucky-updates/ |
| dists/plucky/ |
| dists/trusty-backports/ |
| dists/trusty-proposed/ |
| dists/trusty-security/ |
| dists/trusty-updates/ |
| dists/trusty/ |
| dists/xenial-backports/ |
| dists/xenial-proposed/ |
| dists/xenial-security/ |
| dists/xenial-updates/ |
| dists/xenial/ |
| ubuntu/ |
| </code> |
| </details> |
| {{:software:nas:nas_repo_rsync_new_folder_8.png?|}} |
| Изменим рекурсивно права на папки |
| <code bash> |
| sudo chown -R VladPolskiy:root /volume1/web/repo |
| sudo chmod -R 755 /volume1/web/repo |
| </code> |
| {{:software:nas:nas_repo_rsync_new_folder_16.png?|}} |
| ====Настройка Планеровщика задач==== |
| В панели управления в разделе Планировщик задач создадим Запланированную задачу в виде Скрипта, заданного пользователем |
| {{:software:nas:nas_repo_rsync_new_folder_9.png?|}} |
| Во вкладке общие понятное для нас Имя задачи (примером mirror_ubuntu.sh), пользователь root |
| {{:software:nas:nas_repo_rsync_new_folder_10.png?|}} |
| Во вкладке расписание Выполнить в сегодняшнее число, время запуска через несколько минут от текущего времени (не забываем сверить наше время и времы и часовой пояс на Synology NAS) для проверки работы автоматизации. |
| {{:software:nas:nas_repo_rsync_new_folder_11.png?|}} |
| На вкладке Настройки задачи Указываем отправлять сведения о запуски и свой адрес электронной почты, для получения отчетов и в окне Выполнить каманду вставляем следующую команду на запуск нашего скрипта |
| <code bash> |
| bash /volume1/web/.scripts/mirror_ubuntu.sh |
| </code> |
| {{:software:nas:nas_repo_rsync_new_folder_12.png?|}} |
| Ок, соглашаемся с возможными последствиями |
| {{:software:nas:nas_repo_rsync_new_folder_13.png?|}} |
| Подтверждаем вводом пароля Администратора |
| {{:software:nas:nas_repo_rsync_new_folder_14.png?|}} |
| если все вышеописанное выполнено по инструкции, в назначенное время (в примере в 19:00) должен запуститься скрипт mirror_ubuntu.sh |
| {{:software:nas:nas_repo_rsync_new_folder_15.png?|}} |
| Заходим в директорю web/repo в File Station для проверки работы нашего скрипта |
| {{:software:nas:nas_repo_rsync_new_folder_18.png?|}} |
| Выставляем необходимый день и время обновления нашего репозитория в Планеровщике Задач и проверим отображение репозитория в браузере |
| {{:software:nas:nas_repo_rsync_ubuntu_releases_11.png?|}} |
=====Дополнения и Файлы===== | =====Дополнения и Файлы===== |
[[software:nas:configure_rsync_mirror|Настройка Rsync зеркал репозиториев на DSM 7.2]] | * [[software:nas:configure_rsync_mirror|См. Настройка Rsync зеркал репозиториев на DSM 7.2]] |
| * {{ :software:nas:example_mirror_ubuntu.rar | Файлы папок и скриптов из данного руководства}} |
| * [[github>]]https://git.wwoss.ru/VladPolskiy/Setting_Rsync_DSM_7.2 |