Различия
Здесь показаны различия между двумя версиями данной страницы.
| Следующая версия | Предыдущая версия | ||
|
wiki:lsyncd [2013/10/22 19:58] создано |
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> | ||
| Сохраните файл | Сохраните файл | ||
| - | 4. Before performing the sync test, make sure you have a passwordless ssh session to the host identified in the lsyncd.config file. If not, follow these steps: | + | 4. Перед запуском тестов синхронизации убедитесь, что хост, описанный в lsyncd.config, доступен по ssh без пароля (по ключам). Если нет, выполните следующие шаги: |
| - | + | ||
| - | On your Desktop/client: | + | |
| - | $> ssh-keygen -N '' -f ~/.ssh/id_dsa | + | |
| - | On paraphrase prompt, just press ENTER, then the following (note: REMOTE_SERVER is the ssh server host, in this case my DS211J NAS) | + | |
| - | $> cat ~/.ssh/id_rsa.pub | ssh 192.168.5.149 'cat - >> ~/.ssh/authorized_keys2' $> ssh 192.168.5.149 'chmod 700 .ssh' | + | |
| - | Then test it using the terminal (it should log you into the 192.168.5.149 remote server. | + | |
| - | $> ssh 192.168.5.149 | + | |
| - | + | ||
| - | 5. When all are successfully done, create your preferred name for the NAS sync folder, mine.. I just called it “lsyncd”. It should have the path as follows: | + | |
| - | /home/username/lsyncd (or server.mydomain.local:~/lsyncd if syncing across the internet) | + | |
| - | 6. All are set and ready to go, test the lsyncd from your desktop. | + | На клиенте: |
| - | $> lsyncd -nodaemon ~/.lsycnd/lsycnd.config | + | <code bash>ssh-keygen -N '' -f ~/.ssh/id_rsa</code> |
| + | На все вопросы отвечать по умолчанию, нажатием ENTER, затем (Примечание: 192.168.5.149 - IP-адрес удаленного сервера) | ||
| + | <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 | ||
| + | <code bash>ssh 192.168.5.149</code> | ||
| - | 7. Populate the local folder and watch the remote ssh server for changes. | + | 5. В случае успешного тестирования создайте папку с предпочитаемым именем (для своего NAS я назвал папку “lsyncd”, она должна иметь путь /home/username/lsyncd (или server.mydomain.local:~/lsyncd если синхронизация идет через интернет) |
| - | 8. Create the following following entry in your StartUp Applications app: | + | 6. Настройка завереша, время тестировать lsyncd с клиента: |
| - | lsyncd ~/.lsycnd/lsycnd.config | + | <code bash>lsyncd -nodaemon ~/.lsyncd/lsyncd.config</code> |
| - | 9. Done. | + | 7. Измените содержимое локальной директории и следите за изменениями на удаленном сервере. |
| + | 8. Добавьте строку автозапуска программы в StartUp Applications: | ||
| + | lsyncd ~/.lsyncd/lsyncd.config | ||
| - | Files updated on your desktop will One-way sync to your NAS. I like this better than 2-way sync because of a bad DropBox experience I had where I almost lost everything due to a syncing glitch (an offline PC that had my files saved me). | + | 9. Готово. |
| + | Файлы, обновленные на вашем компьютере будут односторонне синхронизированы с NAS. Мне кажется, это лучше двухсторонней синхронизации, потому что я имею плохой опыт работы с DropBox, когда в результате глюка я почти потерял все данные (своевременное отключение от сети компьютера позволило сохранить информацию). | ||
| - | By the way, make sure nautilus is installed. It contains packages that this process needs. | + | Кстати, убедитесь, что nautilus установлен в системе. Он содержит пакеты, необходимые для функционирования вышеописанного. |
| ===== Ссылки ===== | ===== Ссылки ===== | ||
| - | * [[FIXME]] | + | * [[https://github.com/axkibe/lsyncd|Проект на Гитхабе]] |
| - | {{tag>резервное_копирование переведи_меня!}} | + | {{tag>резервное_копирование lsyncd синхронизация}} |