Скрипты: найти файлы были изменены за последние 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