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

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

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

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

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

  • Как предотвратить массовое удаление файлов в Debian
  • Как связать файл журнала с / dev / null и восстановить автоматически используемое пространство
  • Как создать имя файла для конвейера для удаления всех файлов?
  • Как просмотреть содержимое файла, который я удалил, но что процесс все еще записывает
  • Unix / Linux восстанавливает и восстанавливает удаленные файлы
  • Linux: восстановление удалённого каталога, что еще один терминал все еще подключен к
  • Не удается удалить каталог, операция не поддерживается в NTFS
  • Удаленные файлы все еще используются: memfd: pulseaudio (pulsaudi), memfd: xshmfence (Xorg), / tmp / ib ... (mysqld)
  • 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 

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

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