Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта 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

  1. Создание ssh-ключа для удаленного сервера (в нашем случае это Netgear Stora) выполняется следующим образом:


    1. Сгенерируйте ключи (не указывайте пароль - это позволит вам в дальнейшем выполнять синхронизацию без ввода пароля!)
      ssh-keygen -N -f ~/.ssh/id_dsa
    2. Скопируйте публичный ключ на сервер Stora:
      ssh-copy-id -i ~/.ssh/id_dsa.pub user@REMOTE_SERVER
    3. Установите нужные права:
      ssh user@REMOTE_SERVER ´chmod 700 .ssh´
    4. Проверьте, что вы можете заходить на Stora командой:
      ssh user@REMOTE_SERVER

Установка программ

  1. Теперь подготовим основу для установки пакета lsyncd. Для этого нам необходимо предварительно инсталлировать несколько пакетов:



  2. Затем скачаем и распакуем пакет lsyncd с сайта проекта lsync project (http://code.google.com/p/lsyncd/)


  3. Настройте пакет командой:
    ./configure --prefix=/opt/local --exec-prefix=/opt
    Эта команда подразумевает, что все дополнительное програмное обеспечение находится в директории /opt.


  4. Отредактируйте файл Makefile добавлением строки:
    LDFLAGS = -ldl
  5. Я полагаю, что у вас не появилось сообщений об ошибках после запуска следующей команды:
    make all
  6. Запустите команду:
    sudo -E make install
    Параметр -E использует те же значения переменной окружения активного пользователя, что и переменная PATH. Эта команда аналогична sudo PATH, как если бы в переменной окружения PATH пропали все значения и командная оболочка не могла бы найти исполняемые файлы.


  7. Теперь сделаем привязку библиотек с помощью символической ссылки:
    ln -s /opt/lib/liblua.so /usr/lib/liblua.so
    Это необходимо, чтобы команда lsyncd смогла найти нужные ей библиотеки.


  8. Осталось проверить, что все шаги были выполнены верно:
    lsyncd -help
    В выводе командой строки вы должны увидеть список опций демона lsyncd.

Настройка

Если вам нужна полная справка по команде lsyncd, обратитесь к этому ресурсу lsyncd manual (http://code.google.com/p/lsyncd/wiki/Lsyncd20Manual#The_Configuration_File)

  1. Скопируйте файл example/lrsyncssh.lua в любое место на ваш выбор. Я для этого создал папку $HOME/sync_config


  2. Добавьте в конфигурационный файл sync_conf.lua следующие строки (файл также положите в любом месте):



  3. Запустите команду lsyncd не в фоновом режиме, чтобы проверить на возможные ошибки:
    lsyncd -nodaemon sync_conf.lua
  4. Переместите в синхронизируемую папку какие-либо файлы и проверьте, что они были загружены на Stora без ошибок.


  5. Теперь вы можете запустить команду 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.