Советы PHP-разработчика

Блог содержащий короткие заметки касающиеся программирования для web.

Поиск последних измененных файлов на nix-сервере

Поиск последних измененных файлов на nix-сервере

Поддерживая сайты, не редко приходится восстанавливать их работоспособность из-за не осторожных действий заказчика или его работников. Вариантов того, что можно сломать, масса и зачастую возникает необходимость отыскать какие файлы поменяли на сервере. С этой задачей всегда помогает справиться команда find. О ней сегодня и пойдет речь.

Если проблема не с базой данных, то nix-овая команда поиска приходится как-никогда кстати. Разберем несколько полезных примеров. Найти файлы, которые были модифицированы в последние 30 минут в директории /path/to/directory:

find /path/to/directory -type f -mmin -30

Тоже самое, но для директорий:

find /path/to/directory -type d -mmin -30

Когда проблема случилась не прямо сейчас, а несколько дней назад, то указывать удобнее будет указать не минуты, а дни. В этом случае команды преобразится в

find /path/to/directory -type f -mtime -3

Теперь случай посложнее. Правки кода осуществлялись позавчера, а вчера и сегодня загружались только работоспособные файлы. Тогда в команду поиска добавляется диапазон. Следующая команда выведет все измененные файлы за 3 дня, но не включит данные за последний день:

find /path/to/directory -type f -mtime -3 ! -mtime -1

Для удобства поиска можно добавить в команду вывод времени модификации и сортировку по нему. Тогда последняя команда примет вид

find /path/to/directory -type f -mtime -3 ! -mtime -1 -printf '%TY-%Tm-%Td %TT %p\n' | sort -r

Для ограничения уровня вложенности, добавьте параметр -depth. Например, поиск с уровнем вложенности не более 2 папок

find /path/to/directory -type f -mmin -30 -depth -2

Советую ознакомиться с полным списком команд. В этом вам поможет интернет, man find или find --help.

P.S. Поиск по дате модификации файла бывает полезен при поиске вредоносного кода, поэтому рекомендую запомнить эти команды или добавить ссылку в закладки.

  • 2016-01-25 20:38:29