Wenn Sie nur mit dem Hinzufügen oder Entfernen von Dateien befasst sind, können Sie eine Kombination aus find und diff verwenden, um Änderungen zu überwachen: -
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)
Wenn Sie jedoch wissen möchten (oder möchten), ob sich der Inhalt einer Datei geändert hat, enthält FreeBSD ein Dienstprogramm namens [mtree] [1], das verwendet werden kann, um Änderungen zwischen einer Verzeichnishierarchie und einer erwartete Baseline: -
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)
Für beide Methoden ist es möglicherweise ratsam, die Baseline-Datei unveränderlich zu machen ("chflags uchg baseline.file"). Dies sollte das versehentliche Löschen Ihrer Dateien durch andere Personen als root (einschließlich sich selbst) verhindern.