| Следующая версия | Предыдущая версия |
| 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 |