Я возьму ls -l (и сохраню его в временном файле),
и затем разыграю его новым ls в Daily?На основании, если diff возвращает 0, все в порядке, если diff показывает различия.
Тогда я буду md5 только для файлов, о которых сообщает diff, обновлю ls tempfile новыми ls.Я буду использовать --LTYPE-line-format=%<
, поэтому он не будет искать удаленные файлы (файлы, присутствующие в временном файле, но не в свежем ls).
это будет пресудокод для поиска 'new'файлы:
new_files=diff --suppress-common-lines --changed-group-format='%<' --unchanged-group-format='' temp_file $(ls -l)
deleted_files=diff --suppress-common-lines --changed-group-format='%>' --unchanged-group-format='' temp_file $(ls -l) #so you can log deletions too
Я оставляю писать другой код (создайте первый временный файл и хэшируйте данные)
Очевидно, что если у вас есть каталог, вы должны запустить ls -R
, чем запустить скриптиз корня пути, который вы хотите сохранить checkd