Lsyncd Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:lsyncd [2014/05/08 12:21]
xandros [Установка]
wiki:lsyncd [2017/05/19 19:20] (текущий)
Lemonadnый_JoLemonadnый_JoLemonadnый_Jo -опечатки +config fix
Строка 3: Строка 3:
 Данная программа позволяет средствами rsync делать резервное копирование сразу же по появлению нового файла в указанной директории (а-ля Dropbox) Данная программа позволяет средствами rsync делать резервное копирование сразу же по появлению нового файла в указанной директории (а-ля Dropbox)
  
-Односторонняя синхронизация в реальном времени с помощью Lsyncd (http://​lsyncd.googlecode.com)+Односторонняя синхронизация в реальном времени с помощью ​**Lsyncd** (http://​lsyncd.googlecode.com)
  
-Lsyncd просматривает дерево локальных директорий с помощью интерфейса модуля мониторинга inotify. Он аггрегирует и комбинирует события за несколько секунд и затем запускает процесс (или несколько процессов) синхронизации изменений. По умолчанию для этих целей используется rsync. Таким образом,​ lsyncd - легковесное решение для зеркалирования данных,​ сравнительно легкое в установке,​ не требующее специфичных файловых систем или блочной разметки ​устройств,​ а также не влияющее на производительность файловой системы. Ниже я синхронизирую данные с моего клиентского компьютера под управлением Mint 12/Ubuntu на NAS сервер (Synology DS211J).+**Lsyncd** просматривает дерево локальных директорий с помощью интерфейса модуля мониторинга ​**inotify**. Он агрегирует и комбинирует события за несколько секунд и затем запускает процесс (или несколько процессов) синхронизации изменений. По умолчанию для этих целей используется ​**rsync**. Таким образом, ​**lsyncd** - легковесное решение для зеркалирования данных,​ сравнительно легкое в установке,​ не требующее специфичных файловых систем или блочных устройств,​ а также не влияющее на производительность файловой системы. Ниже я синхронизирую данные с моего клиентского компьютера под управлением Mint 12/Ubuntu на NAS сервер (Synology DS211J).
 =====Установка===== =====Установка=====
 +<code bash>​sudo apt-get install rsync lsyncd</​code>​
 +Или установка из исходных текстов:​
 +
 Установка зависимостей:​ Установка зависимостей:​
-<code bash>​apt-get install rsync libxml2-dev build-essential lua5.1 liblua5.1-dev</​code>​ +<code bash>sudo apt-get install rsync libxml2-dev build-essential lua5.1 liblua5.1-dev ​checkinstall</​code>​ 
-Установка lsync +<​code ​bash>wget https://​lsyncd.googlecode.com/​files/​lsyncd-2.1.5.tar.gz
-<​code>​ wget https://​lsyncd.googlecode.com/​files/​lsyncd-2.1.5.tar.gz+
 tar xvf lsyncd-2.1.5.tar.gz tar xvf lsyncd-2.1.5.tar.gz
 cd lsyncd-2.1.5 cd lsyncd-2.1.5
Строка 20: Строка 22:
 Содержимое ~/​.lsyncd/​lsyncd.config Содержимое ~/​.lsyncd/​lsyncd.config
 <​file>​ <​file>​
-settings ​{+settings{
    ​logfile ​ = "/​home/​mint/​.lsyncd/​lsyncd.log",​    ​logfile ​ = "/​home/​mint/​.lsyncd/​lsyncd.log",​
    ​statusFile ​  = "/​home/​mint/​.lsyncd/​lsyncd.status",​    ​statusFile ​  = "/​home/​mint/​.lsyncd/​lsyncd.status",​
Строка 28: Строка 30:
 } }
  
-sync{default.rsyncssh,​ source="/​media/​sdc1/​DataFiles",​ host="​root@192.168.5.149",​ targetdir="/​volume1/​lsyncd", ​rsyncOpts="​-a"​}</​file>​+sync{ 
 +    ​default.rsyncssh,​ 
 +    ​source ​     = "/​media/​sdc1/​DataFiles",​ 
 +    ​host        = "​root@192.168.5.149",​ 
 +    ​targetdir ​  ​= "/​volume1/​lsyncd",​ 
 +    rsync=
 +        _extra = { "​-a"​ } 
 +        } 
 +    } 
 +
 +</​file>​
  
 Сохраните файл Сохраните файл
Строка 35: Строка 47:
  
 На клиенте:​ На клиенте:​
-$> ssh-keygen -N ''​ -f  ~/.ssh/id_dsa +<code bash>​ssh-keygen -N ''​ -f  ~/.ssh/id_rsa</​code>​ 
-На все вопросы отвечать по умолчанию,​ нажатием ENTER, затем ​then the following ​(Примечание:​ 192.168.5.149 - IP-адрес удаленного сервера) +На все вопросы отвечать по умолчанию,​ нажатием ENTER, затем (Примечание:​ 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' ​+<code bash>cat ~/​.ssh/​id_rsa.pub | ssh 192.168.5.149 'cat - >> ~/.ssh/authorized_keys' 
 +ssh 192.168.5.149 'chmod 700 ~/.ssh'</​code>​
 Проверьте соединение с удаленным сервером,​ вы должны залогиниться на 192.168.5.149 Проверьте соединение с удаленным сервером,​ вы должны залогиниться на 192.168.5.149
-$> ssh 192.168.5.149+<code bash>ssh 192.168.5.149</​code>​
  
 5. В случае успешного тестирования создайте папку с предпочитаемым именем (для своего NAS я назвал папку “lsyncd”,​ она должна иметь путь /​home/​username/​lsyncd ​ (или server.mydomain.local:​~/​lsyncd если синхронизация идет через интернет) 5. В случае успешного тестирования создайте папку с предпочитаемым именем (для своего NAS я назвал папку “lsyncd”,​ она должна иметь путь /​home/​username/​lsyncd ​ (или server.mydomain.local:​~/​lsyncd если синхронизация идет через интернет)
  
-6.  Настройка завереша,​ время тестировать lsyncd с клиента. +6.  Настройка завереша,​ время тестировать lsyncd с клиента: 
-$> lsyncd -nodaemon ~/.lsycnd/lsycnd.config+<code bash>lsyncd -nodaemon ~/.lsyncd/lsyncd.config</​code>​
  
 7. Измените содержимое локальной директории и следите за изменениями на удаленном сервере. ​ 7. Измените содержимое локальной директории и следите за изменениями на удаленном сервере. ​
  
 8. Добавьте строку автозапуска программы в StartUp Applications:​ 8. Добавьте строку автозапуска программы в StartUp Applications:​
-     ​lsyncd ~/.lsycnd/lsycnd.config+     ​lsyncd ~/.lsyncd/lsyncd.config
  
 9. Готово. 9. Готово.