Мне нужно создать список измененных файлов с момента последнего создания списка в системе Linux.Мне нужно сделать это в пространстве пользователя, поэтому решения типа FAM мне не подходят.Для этого у меня есть несколько ограничений ниже:
- Целевое решение может использоваться как в файловых системах
ext2
, так и ext3
. - Должно быть реализовано в пользовательском пространстве, ядреМодификации или модули не допускаются.
- Не должно зависеть от времени модификации файла.Для генерации delta .
- он должен использовать как минимум размер файла или, лучше, алгоритм контрольной суммы. Он не обязательно должен быть в режиме реального времени, он будет запускаться периодически (например, каждые 10 минут).
Кто-нибудь знает уже реализованное решение для этой задачи?Я попытался использовать rsync
для этой цели, но, похоже, rsync
требуется копия всех файлов для расчета различий.
EDIT
В основном мне нужен механизм, которыйгенерирует список файлов и их дельты рекурсивно в данном каталоге и сравнивает с предыдущими.Он может использовать размеры файлов для генерации различий или лучше использовать алгоритм различий (аналогично алгоритм rsync ).Однако криптографические алгоритмы хеширования, такие как MD5 и SHA1, не подходят для меня из-за их производительности.Обратите внимание, что у меня есть тысячи тысяч файлов, и это не криптографический случай.
Решения в реальном времени или решения, требующие изменений в ядре (например, inotify
, kqueue
, FAM , Предохранитель ) меня тоже не устраивает.
Спасибо.