как удалить файлы с определенной даты и расширения

Короткий и сладкий: один из моих подписчиков хостинга взломан.

Я запустил эту команду: find path-to-folder / -mtime -7 -name "* .php" -print, это привело к появлению вредоносного кода на 11 страниц, который был добавлен 30 января. Я не хочу отдельно удалять все эти элементы, а скорее создавать сценарий или создавать команду для выполнения задачи удаления один раз.

Я хотел бы выполнить одно из следующих действий:

  1. создайте скрипт, который удалит файлы на основе путей, которые я вхожу в связанный .txt-файл – ИЛИ
  2. единственная команда для удаления всего файла с именем «* .php» из заданной папки на основе определенного диапазона дат? Вид настройки команды сверху – если это возможно ??.

2 Solutions collect form web for “как удалить файлы с определенной даты и расширения”

  1. ответ от Poisson Aerohead в основном хорош, с небольшой модификацией, что мы лучше используем NULL в качестве имени файла.

  2. для этого в одной команде мы просто изменим -print на -delete . будьте осторожны, переключатель -delete должен быть последним переключателем, или файлы удаляются, прежде чем они будут проверены на других остальных коммутаторах.

    найти путь к папке / -mtime -7 -name "* .php" -delete

Также короткие и сладкие: cat list | xargs rm cat list | xargs rm

Это предполагает, что у вас есть файл с именем «список» всех вредоносных файлов .php и что вы находитесь в каталоге, содержащем .php-файлы (просто чтобы быть понятным, но я уверен, вы это уже поняли).


Если какой-либо из имен файлов содержит символы новой строки, это будет опасно для запуска , особенно потому, что вы уже знаете, что они были созданы злоумышленником. Если у вас есть список имен файлов в текстовом файле, вы можете проверить список заранее и убедиться, что ни одна из строк не удалит файлы, которые вы хотите сохранить.

Кроме того, если злоумышленнику удалось получить злонамеренные скрипты php на этом хосте, это может быть не самая большая проблема . Я только отвечаю на вопрос, который вы задали, и @soubunmei дал лучший ответ, потому что она знала немного больше о команде находки, чем я, но ни один из них не гарантирует безопасность . Извините, если это было непонятно и благодаря @soubunmei и @MichaelHomer за то, что он указал на мой неосторожный язык. Вы должны поговорить с специалистом по кибербезопасности, если вы считаете, что кто-то вредоносный может получить повышенные привилегии на хосте.


Я лично подозреваю, что есть хороший способ «продления и даты», который, как вы просили, может сделать несколько более элегантных, но поскольку у вас уже есть список, почему бы не использовать его?

Я тестировал это в файле с именем «список», который содержал строки:

 file1 file2 

и эти файлы были на моем рабочем столе. Он работал, как ожидалось. Я настоятельно рекомендую вам сначала протестировать это на небольшом этапе, чтобы увидеть, как он будет себя вести, а также создать резервную копию каталога перед удалением массовых файлов. Место на жестком диске намного дешевле, чем время программистов!

  • Как создать имя файла для конвейера для удаления всех файлов?
  • Как просмотреть содержимое файла, который я удалил, но что процесс все еще записывает
  • Не удается удалить каталог, операция не поддерживается в NTFS
  • Просмотр списка удаленных файлов
  • Удаление файлов в Linux невосстанавливается
  • Отменить исходный файл вместо символической ссылки. Что делать?
  • Безопасная файловая система Wipe (scrub) VPS от самого VPS
  • Восстановление файла, который перезаписывается cat>
  • Что представляет собой Скраб «Проход»?
  • восстановить удаленный файл на ext4 с помощью extundelete
  • Как предотвратить массовое удаление файлов в Debian
  • Linux: восстановление удалённого каталога, что еще один терминал все еще подключен к
  • Interesting Posts

    Использование sed для цветного вывода из команды на Solaris

    Как определить, используют ли мои службы runit или init?

    Настройка беспроводной сети

    Что происходит с getopts, когда встречается конец опций

    Как установить Fedora из ISO на USB?

    Я хотел бы установить Linux Mint на отдельный жесткий диск, чем моя установка Windows на том же компьютере

    Как запустить e2image для резервного копирования удаленного CentOS-сервера?

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

    Вопрос о зависимостях библиотеки Linux Red Hat

    вставить новую строку, когда отрицательный + положительный шаблон найден с помощью sed

    Обновление MOTD при входе в систему

    Выполнять команды по выбранным элементам в Midnight Commander

    Безопасное чтение и синтаксический анализ строки из параметра или файла в bash

    Заменить часть текстового файла с помощью скрипта bash

    Удалить часть пути из переменной содержимого

    Linux и Unix - лучшая ОС в мире.