Синхронизация локальных и удаленных каталогов в Linux: Lsyncd (Live Syncing Daemon)

Thank you for reading this post, don't forget to subscribe!

Исполь­зуя Lsyncd, мы можем лег­ко отра­жать локаль­ные ката­ло­ги и уда­лен­ные ката­ло­ги. Это будет очень полез­но, если вы хоти­те син­хро­ни­зи­ро­вать дан­ные меж­ду ката­ло­га­ми, кото­рые часто обнов­ля­ют­ся новым содер­жа­ни­ем. Lsyncd пред­на­зна­чен для син­хро­ни­за­ции локаль­но­го дере­ва ката­ло­гов с низ­ким про­фи­лем ожи­да­е­мых изме­не­ний в уда­лен­ное зер­ка­ло. Это осо­бен­но полез­но для син­хро­ни­за­ции дан­ных из защи­щен­ной обла­сти в не столь без­опас­ном месте.

Уста­нов­ка Lsyncd

Необ­хо­ди­мо вклю­чить Epel репо­зи­то­рий первым.

Затем уста­но­ви­те Lsyncd с помо­щью команды:

Кон­фи­гу­ра­ция Lsyncd на RHEL и CentOS

В систе­мах RHEL и CentOS, кон­фи­гу­ра­ци­он­ный файл Lsyncd будет создан авто­ма­ти­че­ски. Вы може­те про­смот­реть содер­жи­мое это­го фай­ла с помо­щью команды:

 

И, фай­лы при­ме­ров кон­фи­гу­ра­ции доступ­ны в сле­ду­ю­щих местах.

Синхронизация локальных каталогов на RHEL, CentOS

Редак­ти­ро­ва­ние фай­ла кон­фи­гу­ра­ции Lsyncd:

Отре­дак­ти­руй­те и изме­ни­те сле­ду­ю­щие строки:

 

Заме­ни­те путь исход­но­го и целе­во­го ката­ло­гов ваши­ми соб­ствен­ны­ми зна­че­ни­я­ми. Сохра­ни­те и закрой­те файл.

Вклю­чи­те и запу­сти­те услу­гу Lsyncd с помо­щью команд:

 

Теперь, про­верь­те содер­жи­мое ката­ло­гов source_dir и dest_dir.

При­мер вывода:

Про­верь­те содер­жа­ние ката­ло­га dest_dir:

При­мер вывода:

Отлич­но! Содер­жа­ние source_dir было успеш­но син­хро­ни­зи­ро­ва­но с ката­ло­гом dest_dir.

Кро­ме того, вы може­те про­смот­реть фай­лы жур­на­лов, что­бы про­ве­рить, завер­ше­на репли­ка­ция или нет.

Про­верь­те файл состо­я­ния Lsyncd:

Синхронизировать удаленные каталоги

Нам нуж­но настро­ить логин и пароль для SSH. Это про­ис­хо­дит пото­му, что Lsyncd авто­ма­ти­че­ски копи­ру­ет содер­жи­мое локаль­но­го ката­ло­га на уда­лен­ный ката­лог без вме­ша­тель­ства пользователя.

 

Не вво­ди­те пароль. Про­сто нажми­те кноп­ку ENTER, что­бы при­нять зна­че­ния по умолчанию.

 

Теперь, ско­пи­руй­те откры­тый ключ SSH на вашу уда­лен­ную систему:

 

При­мер вывода:

 

Здесь 192.168.10.10 явля­ет­ся IP-адрес уда­лен­ной системы.

Теперь вы смо­же­те вой­ти по SSH на вашу уда­лен­ную систе­му без вво­да пароля:

 

Созда­ние целе­во­го ката­ло­га в уда­лен­ной систе­ме с помо­щью команды:

Вый­ди­те из уда­лен­ной системы:

Затем отре­дак­ти­руй­те кон­фи­гу­ра­ци­он­ный файл Lsyncd на исход­ной машине:

 

Отредактируйте/измените сле­ду­ю­щие строки:

 

Здесь 192.168.1.150 явля­ет­ся IP-адрес мое­го уда­лен­но­го хоста. И, дирек­то­рия назна­че­ния /root/remotesync/ на моей уда­лен­ной систе­ме. Заме­ни­те зна­че­ния вашим соб­ствен­ным. Сохра­ни­те и закрой­те файл.

Пере­за­пу­сти­те служ­бу Lsyncd, что­бы начать реп­ли­ци­ро­вать содер­жи­мое исход­но­го ката­ло­га в пункт назначения.

 

Теперь, под­клю­чи­тесь по SSH к вашей уда­лен­ной системе:

И, про­верь­те содер­жи­мое целе­во­го ката­ло­га (т.е. в нашем слу­чае /root/remotesync/). Вы уви­ди­те все фай­лы из исход­но­го ката­ло­га из локаль­ной систе­мы были вос­про­из­ве­де­ны в целе­вом ката­ло­ге в целе­вой системе.