synology.forum архив спільноти · 2005–2022
ai.synology.forum →
ГлавнаяBackup/Restore › rsync-server

rsync-server

adv · 29.08.2009

Поделитесь опытом использования rsync-server'ом на DS

У меня проблемы

 

Сервер поднялся

NetBackup есть

рсинк с компа его видит

но какой пароль он от меня ждет не понятно

 

подскажите как действовать , где есть инструкция (для DS-207)

Vladimir · 29.08.2009

Логин должен быть не "admin", а "root".

ldavl · 05.03.2010

Включил rsync сервер.

 

Подскажите. Как сделать резервное копирование на NAS с машины под управлением Debian.

 

Установил rsync. Вот что получаю в консоли:

 

debweb:~# rsync -Cavzb . admin@storage:/NetBackup/deb/
admin@storage's password:
sending incremental file list
rsync: mkdir "/NetBackup/deb" failed: No such file or directory (2)
rsync error: error in file IO (code 11) at main.c(576) [receiver=3.0.4]
rsync: connection unexpectedly closed (9 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(635) [sender=3.0.3]

ldavl · 18.03.2010

Объясните пошагово как пользоваться сервером rsync на Synology. К примеру, как настроить систему debian для бэкапа на Synology по rsync. Заранее благодарен.

Walking Past · 31.07.2013
Объясните пошагово как пользоваться сервером rsync на Synology. К примеру, как настроить систему debian для бэкапа на Synology по rsync. Заранее благодарен.

Не знаю, актуален вопрос или нет, но только что решал похожую задачу. Пока память свежа, напишу how to "на потом" для самого себя )))

 

Итак, задача: синхронизация директории с удалённого сервера (FreeBSD) на локальный NAS (Synology DS713+ DSM 4.2).

На удалённый сервер есть SSH доступ и на нём же вертится rsync.

Задачу планируется "повесить" на планировщик заданий NAS, который по расписанию будет инициировать подключение, чтобы не возникало проблем с динамическим IP NAS (хотя сейчас он и статический). Поскольку задача должна выполняться в автоматическом режиме по расписанию и ночью, вариант ввода SSH-пароля вручную не проходит, будем авторизоваться на удалённом сервере с помощью ключевых файлов.

 

А. Изготавливаем пару ключей для авторизации на удалённом сервере (публичный и приватный).

 

1. При помощи putty заходим на сервер по SSH

2. Выполняем

$ ssh-keygen  -t  rsa

На приглашение дважды нажимаем "Enter", отказываясь от ключевой фразы (т.е. оставляем её "пустой").

3. ОТКРЫТЫЙ ключ - файл с названием id_rsa.pub - будет находиться в каталоге ~/.ssh/id_rsa.pub

4. Если в этом каталоге уже хранятся другие ключи, там же будет присутствовать файл authorized_keys. Нужно будет добавить новый, только что сгенерированный нами ключ, в это файл

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

5. Если раньше ключи не создавались и файла authorized_keys нет, можно просто переименовать файл id_rsa.pub в authorized_keys. Поставьте на этот файл права 640.

6. В том же каталоге (~/.ssh/) будет создан закрытый ключ - файл с названием id_rsa. Этот файл уносим к себе на NAS.

 

В. Пишем скрипт, который будет стартовать на NAS по cron'у

 

#!/bin/sh
USER="username"
SERVER="server.name"
PORT="22"
SSHID="/volume1/homes/admin/backups/websites/.ssh/id_rsa"
SOURCE="/home/username/public_html/"
TARGET="/volume1/homes/admin/backups/websites/sitename/"
LOG="/volume1/homes/admin/backups/websites/logs/sitename.log"

/usr/syno/bin/rsync -avz --delete --progress -e "ssh -p $PORT -i $SSHID" $USER@$SERVER:$SOURCE $TARGET >> $LOG 2>&1

 

Теперь пояснения.

username - имя пользователя, которое используется для доступа на удалённый сервер по SSH.

server.name - доменное имя удалённого сервера, с которого будем копировать файлы на NAS

PORT - порт для доступа на удалённый сервер по SSH

SSHID - путь к файлу id_rsa "закрытого" ключа, который мы сохранили на NAS.

SOURCE - абсолютный путь на удалённом сервере к той директории, которую мы будем копировать на NAS.

TARGET - абсолютный путь к директории NAS, в которую всё копируем. На директорию нужно выставить права на запись.

LOG - вывод rsync будем писать в логи, поможет выловить проблемы, если они возникнут. В переменной LOG путь к файлу. Файл пусть будет называться sitename.log

 

Последняя строка - сама команда, которая будет выполнять синхронизацию удалённой директории на NAS. Как она должна выглядеть - зависит исключительно от Ваших желаний. Чтобы получить все ключи rsync, зайдите на свой NAS по SSH и выполните команду

rsync -h > /volume1/homes/admin/backups/websites/rsync_help.txt

В полученном файле rsync_help.txt будет полная информация по доступным ключам.

 

C. Выполняем первый запуск скрипта ВРУЧНУЮ

 

Первый запуск скрипта обязательно нужно сделать ВРУЧНУЮ, т.к. нужно будет подтвердить (один раз), что хост sevrer.name является доверенным (после этого он будет занесён в файл known_hosts на NAS'е и вопросов больше не будет).

 

Заходим на свой NAS по SSH под root'ом. Переходим в директорию, в которой сохранили свой скрипт.

Будем считать, что называется он servername_backup.sh и лежит в директории /volume1/homes/admin/backups/websites/servername_backup.sh

Запускаем скрипт

./servername_backup.sh

Нужно будет подтвердить (ввести yes) на запрос, доверяете ли Вы хосту, к которому подключаетесь.

Ждём, когда скрипт отработает и заглядываем в файл лога. Если нет ошибок – всё ОК.

 

D. Добавляем запуск servername_backup.sh в планировщик заданий NAS

 

Заходим на NAS через веб-интерфейс.

Панель управления > Планировщик заданий > Создать > Скрипт, заданный пользователем.

1. Вводим понятное название для задачи (например, rsync server.name)

2. Пользователь – root

3. В поле «выполнить команду» вводим путь к файлу нашего скрипта: /volume1/homes/admin/backups/websites/servername_backup.sh

4. На вкладке «Расписание» выставляем периодичность запуска скрипта.

 

E. That’s all, folks. Теперь иногда заглядывайте в лог, чтобы быть уверенными, что всё ОК

 

ЗЫ. Вроде бы ничего существенного не забыл. Кроме, быть может, одного - храните свой приватный ключ в надёжном месте с ограничением прав доступа. Если его "угонят", злоумышленник сможет войти на сервер, с которого производится копирование, с Вашими правами.

Accelerator · 01.08.2013

За то, что расписали как и что - спасибо. Но вы решили другую задачу.

Idavl спрашивал как с локальной машины под Debian забэкапить данные удаленно на НАС.

Walking Past · 01.08.2013
Idavl спрашивал как с локальной машины под Debian забэкапить данные удаленно на НАС.

И даже можно увидеть, где именно топикстартером написано, что сервер на Debian локальный, а NAS удалённый? И в чём вообще эта задача другая?

Какая разница, что стоит "локально" и что "удалённо"? Для создания бэкапов оба устройства должны быть доступны через сеть, при этом все действия будут точно такими же, без каких-либо изменений. Поменяйте в тексте "удалённый сервер" на "локальный сервер", а "локальный NAS" на "удалённый NAS", всё остальное оставьте "как есть" - и всё будет работать. Если NAS на динамическом IP, подключение должен инициировать он, независимо от того, стоит он локально или удалённо (либо придётся задействовать ещё и DynDNS). Если на статическом IP - всё написанное остаётся в силе, только подключение можно инициировать и "со стороны сервера" и "со стороны NAS" - единственное, что придётся ключи авторизации rsa "поменять местами", а работать всё будет точно так же (исхожу из того, что "с обеих сторон" присутствует и rsync-клиент и rsync-сервер). Что касается ключей запуска rsync - они в любом случае должны прописываться индивидуально под конкретную задачу.

Accelerator · 01.08.2013

Ясно, спасибо.