Например, сервер MySQL работает на моей машине с Ubuntu. Некоторые данные были изменены в течение последних 24 часов.
Какие (Linux) скрипты могут найти файлы, которые были изменены за последние 24 часа?
Пожалуйста, перечислите имена файлов, размеры файлов и время изменения.
Ответы:
Чтобы найти все файлы, измененные за последние 24 часа (последний полный день), в определенном конкретном каталоге и его подкаталогах:
Должно быть вам по вкусу
-
, Прежде чем1
важно - это означает , что что - то изменилось в один день или меньше назад.+
, Прежде чем1
бы вместо того, чтобы означать что - нибудь изменилось , по крайней мере один день назад, при этом не имея ничего до того , как1
означало бы он был изменен взыскивал один день назад, не больше, не меньше.источник
-
перед числовым значением?-ls
при использовании в сценарииВы можете сделать это с
От
man find
:источник
Другой, более гуманный способ:
или:
или:
источник
В GNU-совместимых системах (например, Linux):
В этом списке будут перечислены файлы и каталоги, которые были изменены за последние 24 часа (
-mtime 0
). Он перечислит их с последним измененным временем в формате, который можно сортировать и читать для человека (%T+
), за которым следует размер файла (%s
), а затем полное имя файла (%p
), каждое из которых будет разделено табуляцией (\t
).2>/dev/null
отбрасывает любой вывод stderr, чтобы сообщения об ошибках не мешали работе;sort -r
сортирует результаты по последнему измененному первому; и| more
перечисляет одну страницу результатов одновременно.источник
| less
вместо| more
, я полагаю.Для тех, кто приземлится здесь в будущем (включая меня), добавьте опцию -name, чтобы найти конкретные типы файлов, например:
find /var -name "*.php" -mtime -1 -ls
источник
У меня эта команда сработала
источник