Мне нравится отслеживать каждый файл php с его размером (и если был добавлен новый файл). На моем сервере их более 200 000, поэтому find
занимает очень много времени.
Вот что я делаю:
ls -1 --size $(find -P . -type f -name "*.php")
На это уходит часы.
Что я могу сделать, чтобы ускорить этот мониторинг? (За исключением более быстрого сервера) Или есть какой-нибудь трюк, который дает список файлов с размером файла или crc32?
Вдобавок я не знаю, будет ли это быстрее:
find . -P -type f -name "*.php" -exec ls -1 --size \{} \;
В найти команда имеет -printf
параметр, который можно использовать для печати размера файла без выполнения команды ls
find . -name '*.php' -printf "%p %s\n"
Вы можете использовать sha512sum (или md5sum), чтобы взять список файлов и создать для них хеши, которые впоследствии можно будет использовать для проверки их целостности.
find . -name '*.php' | while read line; do sha512sum "$line"; done
Если вы записываете вывод команды выше в файл, вы можете затем использовать sha512sum для проверки их целостности.
sha512sum -c file
Используйте OSSEC для проверки целостности.