Библиотека сайта rus-linux.net
Резервное архивирование на Netgear Stora с помощью rsync
Оригинал: RSyncBackupАвтор: коллектив авторов
Дата публикации: 7 декабря 2010 г.
Перевод: В. Семененко
Дата перевода: сентябрь 2011 г.
Содержание
Введение
Целью этой статьи является создание автоматической синхронизации папки локального компьютера с удаленным сервером. Мы создадим на своем компьютере директорию, для которой будет выполняться резервное архивирование ее содержимого на Stora. Главная причина выбора мною такого решения заключается в том, что я не имею возможности выполнять резервную копию своих документов на VPS или синхронизировать их со своими рабочими компьютерами и ноутбуками. Тот метод, который я собираюсь предложить, идентичен по стилю работы с известным on-line сервисом для облачного хранения данных Dropbox.
Данное руководство было создано на основе большого материала "Как создать свой собственный open-source клон Dropbox" (http://fak3r.com/2009/09/14/howto-build-your-own-open-source-dropbox-clone/
). Только здесь я описал шаги по созданию такого сервиса применительно к Netgear Stora.
Эта статья предполагает, что на вашей Stora уже установлен менеджер пакетов ipkg
и настроен сервис SSH.
Создание ключа SSH
- Создание ssh-ключа для удаленного сервера (в нашем случае это Netgear Stora) выполняется следующим образом:
- Сгенерируйте ключи (не указывайте пароль - это позволит вам в дальнейшем выполнять синхронизацию без ввода пароля!)
ssh-keygen -N -f ~/.ssh/id_dsa
- Скопируйте публичный ключ на сервер Stora:
ssh-copy-id -i ~/.ssh/id_dsa.pub user@REMOTE_SERVER
- Установите нужные права:
ssh user@REMOTE_SERVER ´chmod 700 .ssh´
- Проверьте, что вы можете заходить на Stora командой:
ssh user@REMOTE_SERVER
Установка программ
- Теперь подготовим основу для установки пакета
lsyncd
. Для этого нам необходимо предварительно инсталлировать несколько пакетов:
- Затем скачаем и распакуем пакет
lsyncd
с сайта проекта lsync project (http://code.google.com/p/lsyncd/
) - Настройте пакет командой:
./configure --prefix=/opt/local --exec-prefix=/opt
Эта команда подразумевает, что все дополнительное програмное обеспечение находится в директории/opt
. - Отредактируйте файл
Makefile
добавлением строки:
LDFLAGS = -ldl
- Я полагаю, что у вас не появилось сообщений об ошибках после запуска следующей команды:
make all
- Запустите команду:
sudo -E make install
Параметр-E
использует те же значения переменной окружения активного пользователя, что и переменная PATH. Эта команда аналогичнаsudo PATH
, как если бы в переменной окружения PATH пропали все значения и командная оболочка не могла бы найти исполняемые файлы. - Теперь сделаем привязку библиотек с помощью символической ссылки:
ln -s /opt/lib/liblua.so /usr/lib/liblua.so
Это необходимо, чтобы командаlsyncd
смогла найти нужные ей библиотеки. - Осталось проверить, что все шаги были выполнены верно:
lsyncd -help
В выводе командой строки вы должны увидеть список опций демонаlsyncd
.
Настройка
Если вам нужна полная справка по команде lsyncd
, обратитесь к этому ресурсу lsyncd manual (http://code.google.com/p/lsyncd/wiki/Lsyncd20Manual#The_Configuration_File
)
- Скопируйте файл
example/lrsyncssh.lua
в любое место на ваш выбор. Я для этого создал папку$HOME/sync_config
- Добавьте в конфигурационный файл
sync_conf.lua
следующие строки (файл также положите в любом месте):
- Запустите команду
lsyncd
не в фоновом режиме, чтобы проверить на возможные ошибки:
lsyncd -nodaemon sync_conf.lua
- Переместите в синхронизируемую папку какие-либо файлы и проверьте, что они были загружены на Stora без ошибок.
- Теперь вы можете запустить команду
lsyncd
в фоновом режиме, чтобы она автоматически синхронизировала содержимое папки:
lsyncd sync_conf.lua
Обратная синхронизация
Если вы хотите, чтобы ваш ноутбук или какое-либо другое устройство автоматически синхронизировал содержимое указанной директории с сервером Stora; или же, чтобы Stora это делала с удаленным сервером, то добавьте одной строкой следующее задание для crontab
:
* * * * * rsync -ltur user@REMOTE_SERVER:/path/to/src/ /path/to/dst >> /path/to/log/dir/rsync_pull.log
Заключение
Данное пошаговое руководство в точности воспроизводит механизм синхронизации файлов между вашими компьютерами и сервером Stora, как это работает на on-line службе Dropbox.