rsync как фоновый процесс?

4931
Dario

Я использовал rsync для синхронизации файлов между моими двумя серверами. Я установил работу cron, которая будет запускать rsync каждую минуту. Тем не менее, я бы предпочел, чтобы он работал всегда, чтобы файлы синхронизировались в момент их изменения. Каков был бы лучший способ сделать это?

Благодарю.

4

2 ответа на вопрос

7
Doug Harris

If you have inotify in your kernel, check out inotify-tools.

There's an example on that page:

#!/bin/sh # A slightly complex but actually useful example inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %f' \ -e close_write /home/billy | while read date time file; do rsync /home/billy/$ rsync://billy@example.com/backup/$ && \ echo "At $ on $, file $ was backed up via rsync" done 
Я заинтересован в этом решении @Doug. Не могли бы вы объяснить, что делают разные части этого сценария? Amelio Vazquez-Reina 13 лет назад 0
FWIW (четыре года спустя), `lsyncd` - программа, похожая на демон, которая оборачивает эту функциональность очень элегантным и довольно кроссплатформенным способом: https://code.google.com/p/lsyncd/ Zac B 11 лет назад 0
1
akira

use the inotify system of linux, in combination with incron.

У Дуга Харриса есть хороший пример использования. Хотите еще документировать свою? Jeremy L 15 лет назад 0
doug copyNpasted пример непосредственно со страницы :), чтобы избежать того же: http://inotify.aiken.cz/?section=incron&page=doc&lang=en (rtfm) ... он работает так же, как cron, только в другом каталог (/etc/incron.d/) akira 15 лет назад 0

Похожие вопросы