Это старая версия документа.
Данная программа позволяет средствами 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 установлен в системе. Он содержит пакеты, необходимые для функционирования вышеописанного.