Инструменты пользователя

Инструменты сайта


software:nas:configure_rsync_mirror_separate_folder

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
software:nas:configure_rsync_mirror_separate_folder [2025/03/28 16:59] – создано vladpolskiysoftware:nas:configure_rsync_mirror_separate_folder [2025/03/29 12:27] (текущий) – [Настройка Планеровщика задач] vladpolskiy
Строка 3: Строка 3:
 <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 
 +====Рабочая станция==== 
 +  *  <fc #22b14c>Устанавливаем</fc>  [[software:nas:putty|Putty]]  <fc #22b14c>- клиентскую программу для работы с сетевым протоколом SSH, SFTP и генерации цифровых SSH-ключей, которая является свободным приложением с открытым исходным кодом и распространяется под </fc>  [[https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_MIT|Open Source лицензией MIT]]. 
 +  *  <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> 
 + 
 + 
 +====Настройка Роутера==== 
 +<fc #22b14c>Выполняем на роуторе переадресацию портов **873** для **rsync** и **22** для **SSH** на наш Nas Synology</fc> 
 +{{:software:nas:rsync_mirror_dsm_44.png?|}} 
 +==== Настройка службы rsync ==== 
 +Подключимся к Synology Nas [[software:nas:putty|Putty]] - клиентскую программу для работы с сетевым протоколом SSH и перейдем в каталог etc. 
 +<code bash> 
 +cd /etc 
 +</code> 
 +{{:software:nas:nas_repo_rsync_new_folder_2.png?|}} 
 +Откроем в редакторе файл конфигурации **rsyncd.conf** 
 +{{:software:nas:nas_repo_rsync_new_folder_3.png?|}} 
 +<code bash> 
 +sudo vi rsyncd.conf 
 +</code> 
 +и заменим содержимое на  
 +<code bash> 
 +uid = nobody 
 +gid = nobody 
 +use chroot = yes 
 +max connections = 4 
 +syslog facility = local5 
 +pid file = /var/run/rsyncd.pid 
 +[rsync] 
 +        path = /volume1/web/repo 
 +        comment = Shared folder 
 +        list = yes 
 +</code> 
 +{{:software:nas:nas_repo_rsync_new_folder_4.png?|}} 
 +**ESC :wq** для сохранения и выхода из редактора vi 
 +{{: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:example_mirror_ubuntu.rar | Файлы папок и скриптов из данного руководства}} 
 +  * [[github>]]https://git.wwoss.ru/VladPolskiy/Setting_Rsync_DSM_7.2 
software/nas/configure_rsync_mirror_separate_folder.1743170360.txt.gz · Последнее изменение: vladpolskiy