Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование в *nix (http://forum.oszone.net/forumdisplay.php?f=35)
-   -   [решено] find -newer (http://forum.oszone.net/showthread.php?t=163139)

Endy1 11-01-2010 18:16 1317438

find -newer
 
Это наверное простой вопрос для большинства. Но я только начинаю заниматься bash-скриптингом, поэтому никак не найти правильный вариант.

Скрипт обходит все файлы в каталоге и ищет файлы содержащие определённые символы (R5hb66d6f7idj). Причём искать он должен только в файлах новее контрольного kontrol_date. В контрольном файле просто дата последнего запуска этого скрипта.

Код:

failid=`find /srv/virtual_2/ -newer "cat kontrol_date"  -exec grep -q "R5hb66d6f7idj" '{}' \; -print`
Всё вроде в порядке, кроме параметра -newer "cat kontrol_date"
Похоже я его неправильно задаю. Что-то с синтаксисом не то?

На всякий случай весь скрипт:

Код:

LOG="/root/infected-website-check/logifailike"
cat=/bin/cat
echo `/bin/date` | cat  > kontrol_date
failid=`find /srv/virtual_2/ -newer $cat kontrol_date  -exec grep -q "R5hb66d6f7idj" '{}' \; -print`

for fail in $failid; do
echo -n $fail " : "  >> $LOG
cat "$fail" | grep "R5hb66d6f7idj" >> $LOG
echo ""  >> $LOG
done
cat $LOG | grep "R5hb66d6f7idj"

if  [ -s $LOG ]
then
/usr/bin/mail -s "Обнаружен вредоносный код" name@domen.ru < $LOG
fi

rm $LOG


Подскажите пожалуйста где я делаю неправильно? Или как иначе указать, чтобы он искал только в новейших файлах?

ruslandh 12-01-2010 02:47 1317782

1. Наверное всё-же
-newer kontrol_date

Цитата:

Цитата man find
-newer file
File was modified more recently than file. If file is a sym‐
bolic link and the -H option or the -L option is in effect, the
modification time of the file it points to is always used.


Endy1 01-02-2010 16:42 1336034

Вот что в итоге у меня получилось:

find /srv/virtual_2/ \( -newer $kontrol \) -not -iname "*_log" -not -iname "*sess*" \( ! -path "*/usage/*" \) -iname "*" -exec grep -q "R5hb66d6f7idj" '{}' \; -print


Время: 03:31.

Время: 03:31.
© OSzone.net 2001-