Если вас интересуют только файлы, добавляемые или удаляемые, вы можете использовать комбинацию find и diff для отслеживания изменений: -
find /some/dir -print > file-list.expected # baseline # Add/remove files find /some/dir -print > file-list.current diff file-list.expected file-list.current # look for changes mv file-list.old file-list.new # update baseline (optional)
Однако, если вам нужно (или вы хотите) узнать, изменилось ли содержимое файла, FreeBSD поставляется с утилитой [mtree] [1], с помощью которой можно сообщать о любых найденных изменениях между иерархией каталогов и ожидаемый базовый уровень: -
mtree -c -i -n -K cksum -p /some/dir > baseline.mtree # baseline # Add/remove/change files mtree -f baseline.mtree -p /some/dir # look for changes mtree -c -i -n -K cksum -p /some/dir > baseline.mtree # update baseline (optional)
Для любого из этих методов целесообразно сделать базовый файл неизменным («chflags uchg baseline.file»), что должно помочь предотвратить случайное удаление ваших файлов кем-либо, кроме root (включая вас).