Как помирить find, grep и exec

12
DyaDya
На сайте с 11.04.2007
Offline
147
4277

Как-то писал статейку про поиск iframe-вирей на сайтах. Смысл заключался в поиске файлов с вхождениями определённого текста. Делать это в статье предлагаю такой связкой:

find $PWD -name '*.*' -exec grep -li "iframe" {} \;

Сначала, как-то не проверил, что написал, и указал вот такой запрос:

find $PWD -name '*.*' -exec grep -li "iframe" {} ;
- без слеша (\) в конце перед ";". Данный запрос выдавал ошибку такого плана:
find: отсутствует аргумент у `-exec’

Но свой косяк поправил, сделал запрос корректным, всё проверил - работает! Но один пользователь продолжает жаловаться, что у него исправленный запрос всё равно даёт эту же ошибку:

find: отсутствует аргумент у `-exec’

Админы, подскажите, в чём же остался косяк? Что же неправильного в предложенном выше вызове утилит find и grep?

find $PWD -name '*.*' -exec grep -li "iframe" {} \;

Выбирайте качественный хостинг (http://vashmaster.ru/informaciya/o_poleznyh_programmah/news83.php) и продвигайте сайты в СЕОПУЛЬТ (http://seopult.ru/ref.php?ref=72b5ed9561fe66a1). А на «SAPE» я в обиде :) Не упрекайте за очепятки, пишу вслепую (http://ergosolo.ru/) и также делаю сайты (http://www.vashmaster.ru/) ;)
M
На сайте с 19.09.2007
Offline
112
#1
DyaDya:
Как-то писал статейку про поиск iframe-вирей на сайтах. Смысл заключался в поиске файлов с вхождениями определённого текста. Делать это в статье предлагаю такой связкой:
find $PWD -name '*.*' -exec grep -li "iframe" {} \;


Сначала, как-то не проверил, что написал, и указал вот такой запрос:
find $PWD -name '*.*' -exec grep -li "iframe" {} ;
- без слеша (\) в конце перед ";". Данный запрос выдавал ошибку такого плана:

Но свой косяк поправил, сделал запрос корректным, всё проверил - работает! Но один пользователь продолжает жаловаться, что у него исправленный запрос всё равно даёт эту же ошибку:


Админы, подскажите, в чём же остался косяк? Что же неправильного в предложенном выше вызове утилит find и grep?
find $PWD -name '*.*' -exec grep -li "iframe" {} \;

10/1 что теряется $PWD. подозреваю оно имее у вас Пустое значение в момент запуска.

DyaDya
На сайте с 11.04.2007
Offline
147
#2
manman:
10/1 что теряется $PWD. подозреваю оно имее у вас Пустое значение в момент запуска.

Я-то проверяю, всё как раз ОК. Просто у некоторых какие-то проблемы продолжают возникают. Хорошо, попробую предложить вместо $PWD просто . использовать.

esetnod
На сайте с 16.07.2009
Offline
134
#3

а если не секрет, зачем find приплетать, если аргумент *.* ? :)

Быстрый хостинг на SSD от $0.99 (http://just-hosting.ru/) | OpenVZ (http://just-hosting.ru/vds.html) и KVM (http://just-hosting.ru/vds-kvm.html) VDS от $7.95
M
На сайте с 19.09.2007
Offline
112
#4
esetnod:
а если не секрет, зачем find приплетать, если аргумент *.* ? :)

видимо опять же тут просто частный случай что можно без него

вообще удобная штука, ну там пачка доп параметров может быть - время правки\доступа\ узер и прочее....

DyaDya
На сайте с 11.04.2007
Offline
147
#5
manman:
вообще удобная штука, ну там пачка доп параметров может быть - время правки\доступа\ узер и прочее....

Ага, это уже для продвинутых пользователей. Просто бывает на сайте мильёны файлов и все хрен проверите за короткое время. А так, при желании, можно поднастроить и поиск вести только в тех, которые были недавно модифицированы. Так, чтобы в заданный временной интервал попадала дата заражения сайта. В результате, файлов для проверки будет гораздо меньше.

M
На сайте с 19.09.2007
Offline
112
#6
DyaDya:
*Просто бывает на сайте мильёны файлов и все хрен проверите за **.

а про быстро проверить бесплатный совет, вдруг кому пригодится:

за текущий день проверять можно на рабочем серваке,

а за остальные дни на бэкапере.

грепы это жесть , это зачитать винт по *, погрепать , думаю зимой можно греться будет всем городком вокруг такого сервака:)

DyaDya
На сайте с 11.04.2007
Offline
147
#7
manman:
а за остальные дни на бэкапере.

Как это? Объясните, пожалуйста, ламеру в администрировании. Где взять бэкапер и как в нём вести поиск?

Или речь о том, что нужно скачать бекап, развернуть локально и уже на нём вести поиск?

[umka]
На сайте с 25.05.2008
Offline
456
#8
DyaDya:
Как это? Объясните, пожалуйста, ламеру в администрировании. Где взять бэкапер и как в нём вести поиск?
Или речь о том, что нужно скачать бекап, развернуть локально и уже на нём вести поиск?

Перевожу на русский :)

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

Для проделывания этого трюка в списке реквизита должен быть бэкапный сервер :)

Вообще, если делать поиск только в файлах, изменённых за сутки, исключить файлы >1мб и т.п., то всё будет происходить довольно шустро.

Лог в помощь!
M
На сайте с 19.09.2007
Offline
112
#9
'[umka:
;7725336']Перевожу на русский :)****

да, спасибо, именно это я и хотел сказать :)

DyaDya
На сайте с 11.04.2007
Offline
147
#10
[umka:
]Вообще, если делать поиск только в файлах, изменённых за сутки, исключить файлы >1мб и т.п., то всё будет происходить довольно шустро.

Обычно достаточно прогнать поиск по основным файлам типа .html, .php, .js - и в случае обнаружения виря, уже проводить более глубокую проверку сайта. Просто, вири бывает даже под видом картинок прячутся(.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий