Следующая версия | Предыдущая версия |
software:nas:configure_rsync_mirror_ubuntu-releases [2025/03/29 11:31] – создано vladpolskiy | software:nas:configure_rsync_mirror_ubuntu-releases [2025/03/29 15:26] (текущий) – [Дополнения и Файлы] vladpolskiy |
---|
=====Подготовка к работе===== | =====Подготовка к работе===== |
Настройка 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 |
| |
| ====Рабочая станция==== |
| * <fc #22b14c>Устанавливаем редактор</fc> [[https://notepad-plus-plus.org/|Notepad++]] <fc #22b14c>- бесплатный текстовой редактор исходного кода. Работая в среде MS Windows, его использование регулируется</fc> [[https://ru.wikipedia.org/wiki/GNU_General_Public_License|GNU General Public License]]. |
| |
| ==== Создание папок ==== |
| |
| Создадим в корне сайта папку для нашего репозитория, в примере папка будет называться **repo**. В ней будут распологаться папки зеркал и скрытую папку для скриптов, в примере папка будет называться **.scripts**. |
| {{: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> |
| В каталоге **repo** создадим папку **ubuntu_releases** для нашего зеркала |
| {{:software:nas:nas_repo_rsync_ubuntu_releases_1.png?|}} |
| ====Создание скриптов==== |
| В папке **.scripts** создадим файл скрипта загрузки **mirror_ubuntu_releases.sh** и файл исключения при зеркалировании **mirror_ubuntu_releases_list.txt** |
| {{:software:nas:nas_repo_rsync_ubuntu_releases_2.png?|}} |
| в файле скрипта пропишем следующее |
| <code bash> |
| #!/bin/bash -x |
| rsync -avr --exclude-from='/volume1/web/.scripts/mirror_ubuntu_releases_list.txt' rsync://mirror.yandex.ru/ubuntu-releases/ /volume1/web/repo/ubuntu_releases/ |
| </code> |
| **rsync** - загрузить зеркало с адреса **%%rsync://mirror.yandex.ru/ubuntu-releases/%%** в каталог **%%/volume1/web/repo/ubuntu_releases/%%** исключив указанное в файле **%%/volume1/web/repo/.scripts/mirror_ubuntu_releases_list.txt%%** |
| {{:software:nas:nas_repo_rsync_ubuntu_releases_3.png?|}} |
| в файле **mirror_ubuntu_releases_list.txt** укажем директории архива **%%yandex.ru/ubuntu-releases/%%** которые планируем исключить |
| <details><summary>«См.вариант исключения»</summary>:!: оставим для зеркалирования только свежие релизы Ubuntu focal, jammy и noble. Остальные исключим за ненадобностью и экономией места на диске |
| <code bash> |
| 14.04/ |
| 14.04.6/ |
| 16.04/ |
| 16.04.7/ |
| 18.04/ |
| 18.04.6/ |
| include/ |
| oracular/ |
| plucky/ |
| releases/ |
| streams/ |
| trusty/ |
| xenial/ |
| FOOTER.html |
| HEADER.html |
| robots.txt |
| </code> |
| </details> |
| {{:software:nas:nas_repo_rsync_ubuntu_releases_4.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_releases.sh), пользователь root |
| {{:software:nas:nas_repo_rsync_ubuntu_releases_5.png?|}} |
| Во вкладке расписание Выполнить в сегодняшнее число, время запуска через несколько минут от текущего времени (не забываем сверить наше время и времы и часовой пояс на Synology NAS) для проверки работы автоматизации. |
| {{:software:nas:nas_repo_rsync_ubuntu_releases_7.png?|}} |
| На вкладке Настройки задачи Указываем отправлять сведения о запуски и свой адрес электронной почты, для получения отчетов и в окне Выполнить каманду вставляем следующую команду на запуск нашего скрипта |
| <code bash> |
| bash /volume1/web/.scripts/mirror_ubuntu_releases.sh |
| </code> |
| {{:software:nas:nas_repo_rsync_ubuntu_releases_6.png?|}} |
| Ок, соглашаемся с возможными последствиями |
| {{:software:nas:nas_repo_rsync_new_folder_13.png?|}} |
| Подтверждаем вводом пароля Администратора |
| {{:software:nas:nas_repo_rsync_new_folder_14.png?|}} |
| если все вышеописанное выполнено по инструкции, в назначенное время (в примере в 12:20) должен запуститься скрипт mirror_ubuntu_releases.sh |
| {{:software:nas:nas_repo_rsync_ubuntu_releases_8.png?|}} |
| Заходим в директорю web/repo/ubuntu_releases в File Station для проверки работы нашего скрипта |
| {{:software:nas:nas_repo_rsync_ubuntu_releases_9.png?|}} |
| Выставляем необходимый день и время обновления нашего репозитория в Планеровщике Задач и проверим отображение репозитория в браузере |
| {{:software:nas:nas_repo_rsync_ubuntu_releases_10.png?|}} |
| =====Дополнения и Файлы===== |
| * [[software:nas:configure_rsync_mirror|См. Настройка Rsync зеркал репозиториев на DSM 7.2]] |
| * [[software:nas:configure_rsync_mirror_separate_folder|См. Настройка Rsync зеркал в отдельной папке на DSM 7.2]] |
| * {{ :software:nas:example_mirror_releases_scripts.rar |Файлы папок и скриптов из данного руководства}} |
| * [[gitea>]]https://git.wwoss.ru/VladPolskiy/Setting_Rsync_DSM_7.2 |