Иногда в большой куче файлов с поддиректориями(!) нужно найти пару файлов, которые были недавно изменены (как правило, самые последние модификации). Например, кто-то копался в /etc/ и что-то там поменял. Что -- непонятно, но нормально работать перестало :] Надо найти что именно изменено, но как бы побыстрее это сделать?..
Нет ни у кого скрипта для таких целей? По идее, скрипт должен собрать все данные об изменениях всех файлов через lstat, и отсортировать sort'ом. Но файлов может быть много, получится долго... Потом, хотелось бы иметь регулируемые параметры типа "выводить только N последних", проверять только файлы определённого вида и т.п. Может, уже утилита есть, типа find, просто я нужного заклинания не знаю?
[решено] Найти последние изменённые файлы
-
mar
Re: [решено] Найти последние изменённые файлы
первое, что приходит в голову из готового, это скрипты a-la daily : какой-то из них, помнится, проверяет изменения в существенных файлах
-
BuGfiX
Re: [решено] Найти последние изменённые файлы
Команда 'find -mtime x' позволяет искать файлы которые изменялись x+1 сутки назад, возможно это как-то Вам поможет.
-
hasherfrog
Re: [решено] Найти последние изменённые файлы
BuGfiX
Спасибо, но... Нет, как раз непонятно, когда были сделаны изменения.
mar, спасибо, я просто думал, может есть что-то уже. Типа ls -ctl но с поддержкой -R
В общем, ладно, я тут набросал на коленке для себя... Думает долго, но работает. Больше мне пока не надо.
Код:
update
Хм, видимо, из-за использования more[/i] рвётся труба при долгом разглядывании :]
Но зато я сразу нашёл косяк, который собственно и искал.
Решено.
Спасибо, но... Нет, как раз непонятно, когда были сделаны изменения.
mar, спасибо, я просто думал, может есть что-то уже. Типа ls -ctl но с поддержкой -R
В общем, ладно, я тут набросал на коленке для себя... Думает долго, но работает. Больше мне пока не надо.
Код:
Код: Выделить всё
#!/bin/bash
find ./ -type f -print |
while read f; do stat --format="%Y %n" ${f}; done |
sort -r -n |
while read n f; do ls -al ${f}; done |
moreupdate
Хм, видимо, из-за использования more[/i] рвётся труба при долгом разглядывании :]
Но зато я сразу нашёл косяк, который собственно и искал.
Решено.