Выдрать последние N строк из файла и сравнить их

trasherz

Новичок
Выдрать последние N строк из файла и сравнить их

Задача такова.
Есть файл, в котором ведутся логи сервера.
Когда сервер падает, то он выдает в этот лог файл строку, вида:
BlahBlahBlah disconnected %var% from server
вместо %var% различное в каждой строке слово
причем не одну, а штук 20-30.

Так вот, нужно написать php-скрипт, который брал бы этот файл с логом, выдирал оттуда последние N(пусть 20) строчек и каждую из этих строчек сравнивал, удовлетворяют ли они виду(см. выше).

Подскажите, пожалуйста, вот такие пункты:
- как выдрать последние N строк из файла
- как сравнить, узнать, нужного ли они мне вида

Заранее всем спасибо.
 

vedeney

Новичок
$array=array_slice(array_reverse(file("path/to/file.log")),0,20);

-~{}~ 18.07.06 18:24:

второй пункт - регулярка
 

Фанат

oncle terrible
Команда форума
vedeney
ты когда-нибудь видел файлы логов?
судя по твоему коду - никогда

-~{}~ 18.07.06 19:27:

trasherz
в чём твои затруднения?
 

uliss

Новичок
Зачем тебе php если сервер падает? или это не веб-сервер
Код:
tail -n 20 logfile | grep 'pattern'
 

trasherz

Новичок
Фанат, а что в варианте vedeney'а нехорошего?
Мне необходимо вытащить последние строки и проверить их, а я не знаю, как лучше это сделать -- вот и затруднения :)

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

Фанат

oncle terrible
Команда форума
trasherz
действительно, что плохого в том, чтобы тащить в дом и перекапывать тонну песка, когда нужна всего одна горсточка.
ты прав, глупости какие.
Если есть какой-то другой, более другой рациональный и эффективный способ, прошу рассказать
вообще-то, тебе УЖЕ рассказали.
читать не пробовал?

-~{}~ 19.07.06 09:57:

а я не знаю, как лучше это сделать -- вот и затруднения
это неправильный ответ.
"как сделать лучше" спрашивают после того, как уже сделали как-нибудь.
повторяю свой вопрос.
какие у тебя затруднения?

предполагается, что хдесь форум программистов или начинающих программистов.
а не маменькиных сынков, которые только и умеют, что соску клянчить.

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

uliss

Новичок
trasherz
если сервер падает нужно разбираться в первую очередь с ним.

Если же нужна подстраховка - то нужно смотреть не в логах, а в списке процессов:
Код:
ps aux
и искать процесс своего сервера
 
Сверху