Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:lsyncd [2014/05/08 11:49] [Настройка] |
wiki:lsyncd [2017/05/19 19:20] (текущий) -опечатки +config fix |
||
---|---|---|---|
Строка 3: | Строка 3: | ||
Данная программа позволяет средствами rsync делать резервное копирование сразу же по появлению нового файла в указанной директории (а-ля Dropbox) | Данная программа позволяет средствами rsync делать резервное копирование сразу же по появлению нового файла в указанной директории (а-ля Dropbox) | ||
- | [[FIXME]] | + | Односторонняя синхронизация в реальном времени с помощью **Lsyncd** (http://lsyncd.googlecode.com) |
- | 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. | + | **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 | ||
- | ./confugure | + | ./configure |
make | make | ||
sudo checkinstall | sudo checkinstall | ||
Строка 21: | Строка 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", | ||
Строка 29: | Строка 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> | ||
Сохраните файл | Сохраните файл | ||
Строка 36: | Строка 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. Готово. | ||
Строка 60: | Строка 72: | ||
===== Ссылки ===== | ===== Ссылки ===== | ||
- | * [[FIXME]] | + | * [[https://github.com/axkibe/lsyncd|Проект на Гитхабе]] |
- | {{tag>резервное_копирование переведи_меня!}} | + | {{tag>резервное_копирование lsyncd синхронизация}} |