Назад | Перейти на главную страницу

Получение всех файлов PHP и сохранение их размера

Мне нравится отслеживать каждый файл 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 для проверки целостности.