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

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


software:nas:configure_rsync_mirror_separate_folder

Настройка Rsync зеркал в отдельной папке на DSM 7.2

300 Программы, которые можно установить с помощью Центра приложений или любого другого пакетного менеджера, хранятся в репозиториях. Репозитории представляют из себя обычное хранилище пакетов и специальных файлов, доступное через интернет. Поэтому у каждого репозитория есть свой адрес. Например, официальные основные репозитории Ubuntu находятся по адресу http://archive.ubuntu.com/ubuntu.

Введение

Ниже описываются шаги по созданию репозитория в отдельной папке при настроеном Web-сервере на Synology Nas в DSM 7.2, т.е. когда на страницах основного сайта представлены ссылки для загрузки на репозиторий зеркал, находящийся на этом же Web-сервере.

Подготовка к работе

Настройка Web-сервера и службы rsync описаны в статье Настройка Rsync зеркал репозиториев на DSM 7.2. Поэтому повторятся не будем, а перейдем к созданию папок, настройке службы rsync, созданию скриптов и планировщику задач на Synology Nas в DSM 7.2

Рабочая станция

  • Устанавливаем Putty - клиентскую программу для работы с сетевым протоколом SSH, SFTP и генерации цифровых SSH-ключей, которая является свободным приложением с открытым исходным кодом и распространяется под Open Source лицензией MIT.
  • Устанавливаем редактор Notepad++ - бесплатный текстовой редактор исходного кода. Работая в среде MS Windows, его использование регулируется GNU General Public License.

Создание папок

Создадим в корне сайта папку для нашего репозитория, в примере папка будет называться repo. В ней будут распологаться папки зеркал и скрытую папку для скриптов, в примере папка будет называться .scripts.

Файл .htaccess

В Notepad++ на локальной машине создадим файл .htaccess — это локальный конфигурационный файл веб-сервера Apache, который позволяет управлять настройками сайта, с содержанием одной единственной строки

Options +Indexes

и сохраняем как, указываем имя:.htaccess и тип файла:«все файлы». Перетаскиваем файл .htaccess в окно программы File Station В браузере вводим IP адрес нашего сервера и убеждаемся, что индексация папок работает.

Примечание Без файла .htaccess Synology запрещает доступ к странице без файла index.html, index.php и т.д. и необходимо редактировать конфигурационный файл пакета Apache HTTP Server 2.4, что требует определенных навыков в работе с Synology. Файл .htaccess можно создать средствами пакета Synology Office, который установит нам кучу не нужных для зеркала пакетов, а после все не нужное удалить.

Настройка Роутера

Выполняем на роуторе переадресацию портов 873 для rsync и 22 для SSH на наш Nas Synology

Настройка службы rsync

Подключимся к Synology Nas Putty - клиентскую программу для работы с сетевым протоколом SSH и перейдем в каталог etc.

cd /etc

Откроем в редакторе файл конфигурации rsyncd.conf

sudo vi rsyncd.conf

и заменим содержимое на

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

ESC :wq для сохранения и выхода из редактора vi

Создание скриптов

В папке .scripts создадим файл скрипта загрузки mirror_ubuntu.sh и файл исключения при зеркалировании mirror_ubuntu_list.txt в файле скрипта пропишем следующее

#!/bin/bash -x
rsync -avr --exclude-from='/volume1/web/.scripts/mirror_ubuntu_list.txt' rsync://archive.ubuntu.com/ubuntu/ /volume1/web/repo/ubuntu/

rsync - загрузить зеркало с адреса rsync://archive.ubuntu.com/ubuntu/ в каталог /volume1/web/repo/ubuntu/ исключив указанное в файле /volume1/web/repo/.scripts/mirror_ubuntu_list.txt в файле mirror_ubuntu_list.txt укажем директории архива Ubuntu которые планируем исключить

«См.вариант исключения»

:!: оставим для зеркалирования только свежие релизы Ubuntu focal, jammy и noble. Остальные исключим за ненадобностью и экономией места на диске

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/

Изменим рекурсивно права на папки

sudo chown -R VladPolskiy:root /volume1/web/repo
sudo chmod -R 755 /volume1/web/repo

Настройка Планеровщика задач

В панели управления в разделе Планировщик задач создадим Запланированную задачу в виде Скрипта, заданного пользователем Во вкладке общие понятное для нас Имя задачи (примером mirror_ubuntu.sh), пользователь root Во вкладке расписание Выполнить в сегодняшнее число, время запуска через несколько минут от текущего времени (не забываем сверить наше время и времы и часовой пояс на Synology NAS) для проверки работы автоматизации. На вкладке Настройки задачи Указываем отправлять сведения о запуски и свой адрес электронной почты, для получения отчетов и в окне Выполнить каманду вставляем следующую команду на запуск нашего скрипта

bash /volume1/web/.scripts/mirror_ubuntu.sh

Ок, соглашаемся с возможными последствиями Подтверждаем вводом пароля Администратора если все вышеописанное выполнено по инструкции, в назначенное время (в примере в 19:00) должен запуститься скрипт mirror_ubuntu.sh Заходим в директорю web/repo в File Station для проверки работы нашего скрипта Выставляем необходимый день и время обновления нашего репозитория в Планеровщике Задач и проверим отображение репозитория в браузере

Дополнения и Файлы

Только авторизованные участники могут оставлять комментарии.
software/nas/configure_rsync_mirror_separate_folder.txt · Последнее изменение: 2025/03/29 12:27 — vladpolskiy