Изменения

Файловая репликация

54 байта добавлено, 13:11, 30 апреля 2013
м
Нет описания правки
=== События Inotify ===
<tab sep=tab bar class=simpletable head=left>IN_ACCESS | Чтение из файла.IN_ATTRIB | Изменение метаданных файла — прав доступа, владельца и группы, времени доступа, количества жёстких ссылок (в версиях ядер >= 2.6.25) и т. п.IN_CLOSE_WRITE | Закрытие файла, ранее открытого для записи.IN_CLOSE_NOWRITE | Закрытие файла без записи.IN_CREATE | Файл/каталог создан внутри наблюдаемого каталога.IN_DELETE | Файл/каталог внутри наблюдаемого каталога удалён.IN_DELETE_SELF | Удалён '''сам''' наблюдаемый файл/каталог.IN_MODIFY | Запись в файл.IN_MOVE_SELF | Перемёщён '''сам''' наблюдаемый файл/каталог.IN_MOVED_FROM | Перемещение файла («из» указанного в событии).IN_MOVED_TO | Перемещение файла («в» указанный в событии). Пары связанных событий IN_MOVED_TO и IN_MOVED_FROM обозначаются одинаковым атрибутом «cookie».IN_OPEN | Открытие файла.
</tab>
=== Флаги ===
<tab sep=tab bar class=simpletable head=left>IN_IGNORED | Наблюдение отменено — либо явно, либо автоматически при удалении файла или размонтировании ФС.IN_ISDIR | Субъект данного события — каталог.IN_Q_OVERFLOW | Переполнение очереди событий.IN_UNMOUNT | Размонтирование файловой системы, содержащей субъект события.
</tab>
=== Корректные реакции на события ===
<tab sep=tab bar class=simpletable head=left>| Начало мониторинга rsync всего каталога.IN_CREATE | rsync отдельного файла.IN_DELETE | Удалить файл на удалённой стороне. Rsync с этим, бывает, тормозит.IN_DELETE_SELF | Видимо, также удалить, либо ошибка обработки.IN_MODIFY | Ничего не делать! Событий модификации может быть много, а завершатся они, только когда записывающий процесс закроет файл — событием IN_CLOSE_WRITE.IN_ATTRIB | rsync с флагами -lptEAX и, возможно, -og (если удалённый rsync работает под рутом)IN_CLOSE_WRITE | rsync, ибо файл изменился.IN_MOVE_SELF | Либо удалить, либо ошибка обработки.Пара IN_MOVED_* | Переместить файл на удалённой стороне. Если целевой файл на удалённой стороне существует — переименовать его в «имя.(n+1)» (n — число). Rsync этого не умеет, придётся открывать отдельное соединение и ставить демон на удалённую сторону.IN_Q_OVERFLOW | Часть событий потеряна, так что rsync всего каталога после небольшой задержки, ибо мы не знаем, какие файлы поменялись.IN_UNMOUNT | Ошибка обработки!
</tab>