Скрипты: найти файлы были изменены за последние 24 часа

например. На моей машине Ubuntu работает Mysql-сервер. Некоторые данные были изменены в течение последних 24 часов.

Какие сценарии (Linux) могут найти файлы, которые были изменены в течение последних 24 часов?

Пожалуйста, укажите имена файлов, размеры файлов и время изменения.

Ответ 1

Чтобы найти все файлы, измененные за последние 24 часа (последний полный день) в определенном конкретном каталоге и его подкаталогах:

find /directory_path -mtime -1 -ls

Должно быть по вашему вкусу

Значение - до 1 важно - это означает, что что-то изменилось однажды или менее назад. A + до 1 вместо этого означало бы что-либо измененное, по крайней мере, один день назад, не имея ничего перед тем, как 1 означало, что он был изменен в течение одного дня назад, не более, не менее.

Ответ 2

Вы можете сделать это с помощью

find . -mtime 0

От man find:

Время

[Время], так как последний файл был изменен, делится на 24 часа, и любой остаток отбрасывается. Это означает, что для        match -mtime 0, файл должен иметь модификацию в прошлом, которая меньше, чем 24 часа назад.

Ответ 3

В GNU-совместимых системах (например, Linux):

find . -mtime 0 -printf '%T+\t%s\t%p\n' 2>/dev/null | sort -r | more

Здесь будут перечислены файлы и каталоги, которые были изменены за последние 24 часа (-mtime 0). Он будет перечислять их с последним измененным временем в формате, который является как сортируемым, так и удобочитаемым (%T+), за которым следует размер файла (%s), за которым следует полное имя файла (%p), каждый из которых разделен по вкладкам (\t).

2>/dev/null выбрасывает любой вывод stderr, так что сообщения об ошибках не мутируют воды; sort -r сортирует результаты по последним изменениям; и | more перечисляет одну страницу результатов за раз.

Ответ 4

Эта команда работала для меня

find . -mtime -1 -print

Ответ 5

Другой способ:

find /<directory> -newermt "-24 hours" -ls

или

find /<directory> -newermt "1 day ago" -ls

или

find /<directory> -newermt "yesterday" -ls

Ответ 6

Для других, кто приземляется здесь в будущем (включая меня), добавьте параметр -name для поиска определенных типов файлов, например: find /var -name "*.php" -mtime -1 -ls