Различия
Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия Последняя версия Следующая версия справа и слева | ||
wiki:lsyncd [2013/10/22 19:58] создано |
wiki:lsyncd [2014/05/08 12:26] [Lsyncd] |
||
---|---|---|---|
Строка 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). |
=====Установка===== | =====Установка===== | ||
Установка зависимостей: | Установка зависимостей: | ||
Строка 14: | Строка 13: | ||
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 | ||
Строка 29: | Строка 28: | ||
} | } | ||
- | 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", | ||
+ | rsyncOpts = "-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 | $> 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) | + | На все вопросы отвечать по умолчанию, нажатием 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' | $> 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. | + | Проверьте соединение с удаленным сервером, вы должны залогиниться на 192.168.5.149 |
$> ssh 192.168.5.149 | $> 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: | + | 5. В случае успешного тестирования создайте папку с предпочитаемым именем (для своего NAS я назвал папку “lsyncd”, она должна иметь путь /home/username/lsyncd (или server.mydomain.local:~/lsyncd если синхронизация идет через интернет) |
- | /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. | + | 6. Настройка завереша, время тестировать lsyncd с клиента. |
$> lsyncd -nodaemon ~/.lsycnd/lsycnd.config | $> lsyncd -nodaemon ~/.lsycnd/lsycnd.config | ||
- | 7. Populate the local folder and watch the remote ssh server for changes. | + | 7. Измените содержимое локальной директории и следите за изменениями на удаленном сервере. |
- | 8. Create the following following entry in your StartUp Applications app: | + | 8. Добавьте строку автозапуска программы в StartUp Applications: |
lsyncd ~/.lsycnd/lsycnd.config | lsyncd ~/.lsycnd/lsycnd.config | ||
- | 9. Done. | + | 9. Готово. |
+ | Файлы, обновленные на вашем компьютере будут односторонне синхронизированы с NAS. Мне кажется, это лучше двухсторонней синхронизации, потому что я имею плохой опыт работы с DropBox, когда в результате глюка я почти потерял все данные (своевременное отключение от сети компьютера позволило сохранить информацию). | ||
- | 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). | + | Кстати, убедитесь, что nautilus установлен в системе. Он содержит пакеты, необходимые для функционирования вышеописанного. |
- | + | ||
- | + | ||
- | By the way, make sure nautilus is installed. It contains packages that this process needs. | + | |
===== Ссылки ===== | ===== Ссылки ===== | ||
- | * [[FIXME]] | + | * [[https://github.com/axkibe/lsyncd|Проект на Гитхабе]] |
- | {{tag>резервное_копирование переведи_меня!}} | + | {{tag>резервное_копирование lsyncd синхронизация}} |