История изменений
Исправление ya-betmen, (текущая версия) :
Мне кажется всё это в нужно в тот тред.
результат кривой постановки задачи
А вы учитываете, что я сам ставил себе эту задачу и понимал чего хочу? Тем более в том топике я спрашивал готовую тулзу. Понимаете, готовую?
Хорошо, я знаю что у меня тормозит, может подскажете как сделать оптимальнее. Изменяется файл в исходном каталоге -> срабатывает inotify -> пинает мой скрипт -> скрипт парсит конфиг и определяет чего и куда ему синхронизовать -> сличает md5 файлов (они разные) -> перекидывает файл в целевой каталог -> и вот тут снова срабатывает inotify (натравленный на целевой каталог, т.к. нужна обратная синхронизация) -> скрипт поднимает конфиг целевого каталога, вот тут медленно, т.к. это файлик строк вида /path/to/target/file=/path/to/original/file (а их много) и определяет где у этого файлика папа -> сличает md5, но тут они уже равны и он ничего не делает.
Соответственно при создании/удалении каталогов по конфигу бегает sed и сносит/добавляет записи.
Что мне не нравится: скрипт дёргается при каждом изменении и поднимает все конфиги, если внезапно дёрнется 2 экземпляра sed на один файл, то прав будет последний. И то и другое решилось бы демоном, который во-первых всегда держал бы конфиг поднятым, а во-вторых ставил бы задания в очередь и мог бы разрулить их при пересечении.
Похожие геморрои и при обратной синхронизации, т.к. нужно учитывать откуда пришёл файл или приоритет каталогов если файл новый.
Я же не прошу решать за меня задачу, я спросил где найти простые примеры как написать демона.
Исходная версия ya-betmen, :
Мне кажется всё это в нужно в тот тред.
результат кривой постановки задачи
А вы учитываете, что я сам ставил себе эту задачу и понимал чего хочу? Тем более в том топике я спрашивал готовую тулзу. Понимаете, готовую?
Хорошо, я знаю что у меня тормозит, может подскажете как сделать оптимальнее. Изменяется файл в исходном каталоге -> срабатывает inotify -> пинает мой скрипт -> скрипт парсит конфиг и определяет чего и куда ему синхронизовать -> сличает md5 файлов (они разные) -> перекидывает файл в целевой каталог -> и вот тут снова срабатывает inotify (натравленный на целевой каталог, т.к. нужна обратная синхронизация) -> скрипт поднимает конфиг целевого каталога, вот тут медленно, т.к. это файлик строк вида /path/to/target/file=/path/to/original/file (а их много) и определяет где у этого файлика папа -> сличает md5, но тут они уже равны и он ничего не делает.
Соответственно при создании/удалении каталогов по конфигу бегает sed и сносит/добавляет записи.
Что мне не нравится: скрипт дёргается при каждом изменении и поднимает все конфиги, если внезапно дёрнется 2 экземпляра sed на один файл, то прав будет последний. И то и другое решилось бы демоном, который во-первых всегда держал бы конфиг поднятым, а во-вторых ставил бы задания в очередь и мог бы разрулить их при пересечении.
Похожии геморрои и при обратной синхронизации, т.к. нужно учитывать откуда пришёл файл или приоритет каталогов если файл новый.
Я же не прошу решать за меня задачу, я спросил где найти простые примеры как написать демона.