Это старая версия документа.


Данная программа позволяет средствами rsync делать резервное копирование сразу же по появлению нового файла в указанной директории (а-ля Dropbox)

FIXME One-way, realtime sync using Lsyncd (http://lsyncd.googlecode.com)

Lsyncd watches a local directory trees event monitor interface (inotify). It aggregates and combines events for a few seconds and then spawns one (or more) process(es) to synchronize the changes. By default, rsync is used. Lsyncd is thus a light-weight live mirror solution that is comparatively easy to install not requiring new filesystems or blockdevices and does not hamper local filesystem performance. Below, I am syncing data from my Mint 12/Ubuntu hybrid client PC to a Synology DS211J NAS.

Установка

Установка зависимостей:

apt-get install rsync libxml2-dev build-essential lua5.1 liblua5.1-dev

Установка lsync

 wget https://lsyncd.googlecode.com/files/lsyncd-2.1.5.tar.gz
tar xvf lsyncd-2.1.5.tar.gz
cd lsyncd-2.1.5
./confugure
make
sudo checkinstall

Настройка

Содержимое ~/.lsyncd/lsyncd.config

settings = {
   logfile  	= "/home/mint/.lsyncd/lsyncd.log",
   statusFile   = "/home/mint/.lsyncd/lsyncd.status",
   nodaemon 	= false,
   maxDelays	= 900,
   maxProcesses = 6,
}

sync{default.rsyncssh, source="/media/sdc1/DataFiles", host="root@192.168.5.149", targetdir="/volume1/lsyncd", rsyncOpts="-a"}

Сохраните файл

4. Перед запуском тестов синхронизации убедитесь, что хост, описанный в lsyncd.config, доступен по ssh без пароля (по ключам). Если нет, выполните следующие шаги:

На клиенте: $> ssh-keygen -N '' -f ~/.ssh/id_dsa На все вопросы отвечать по умолчанию, нажатием ENTER, затем then the following (Примечание: 192.168.5.149 - IP-адрес удаленного сервера) $> cat ~/.ssh/id_rsa.pub | ssh 192.168.5.149 'cat - » ~/.ssh/authorized_keys2' $> ssh 192.168.5.149 'chmod 700 .ssh' Проверьте соединение с удаленным сервером, вы должны залогиниться на 192.168.5.149 $> ssh 192.168.5.149

5. В случае успешного тестирования создайте папку с предпочитаемым именем (для своего NAS я назвал папку “lsyncd”, она должна иметь путь /home/username/lsyncd (или server.mydomain.local:~/lsyncd если синхронизация идет через интернет)

6. Настройка завереша, время тестировать lsyncd с клиента. $> lsyncd -nodaemon ~/.lsycnd/lsycnd.config

7. Измените содержимое локальной директории и следите за изменениями на удаленном сервере.

8. Добавьте строку автозапуска программы в StartUp Applications:

   lsyncd ~/.lsycnd/lsycnd.config

9. Готово.

Файлы, обновленные на вашем компьютере будут односторонне синхронизированы с NAS. Мне кажется, это лучше двухсторонней синхронизации, потому что я имею плохой опыт работы с DropBox, когда в результате глюка я почти потерял все данные (своевременное отключение от сети компьютера позволило сохранить информацию).

Кстати, убедитесь, что nautilus установлен в системе. Он содержит пакеты, необходимые для функционирования вышеописанного.

Ссылки