Различия
Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
wiki:lsyncd [2014/05/08 12:23] [Настройка] |
wiki:lsyncd [2017/05/19 19:20] (текущий) -опечатки +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 { | + | sync{ |
| default.rsyncssh, | default.rsyncssh, | ||
| source = "/media/sdc1/DataFiles", | source = "/media/sdc1/DataFiles", | ||
| host = "root@192.168.5.149", | host = "root@192.168.5.149", | ||
| targetdir = "/volume1/lsyncd", | targetdir = "/volume1/lsyncd", | ||
| - | rsyncOpts = "-a"} | + | rsync={ |
| + | _extra = { "-a" } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| </file> | </file> | ||
| Строка 41: | Строка 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. Готово. | ||