Титла: bash script за проверка на файл Публикувано от: mrowcp в May 22, 2010, 21:26 Здравейте,
някой да може да ми даде примерен скрипт който да прави следното: cat file.log May 20 07:08:44 shells sshd[23440]: Failed password for root from 222.73.163.21 port 55803 ssh2 May 20 07:08:52 shells sshd[23442]: Failed password for root from 222.73.163.21 port 56192 ssh2 May 20 10:01:10 shells sshd[23444]: Failed password for root from 222.73.163.21 port 50611 ssh2 May 20 10:01:15 shells sshd[23446]: Failed password for root from 222.73.163.21 port 50961 ssh2 Ако едно и също IP има повече от 3 реда записни в file.log, дами праща е-майл.Часта с мейла знам как да стане, но не мога да задам как да чете точно мястото с ИП-то.Може евентуално да чете всичко след "from" до "port" :) Мерси Титла: Re: bash script за проверка на файл Публикувано от: b2l в May 22, 2010, 21:43 Защо не опиташ сам да си го напишеш. Само ще ти помогна да вземеш IT-то:
Код къдте test беше моя файл с твоите редове информация. Титла: Re: bash script за проверка на файл Публикувано от: mrowcp в May 22, 2010, 22:28 Защо не опиташ сам да си го напишеш. Само ще ти помогна да вземеш IT-то: мерси :) вече имам няколко идеи.Ще пробвам и ще пиша ако има проблем. Титла: Re: bash script за проверка на файл Публикувано от: radoulov в May 22, 2010, 23:40 Код
Титла: Re: bash script за проверка на файл Публикувано от: mrowcp в May 23, 2010, 15:00
Мерси :) Определено напредвам. Оказа се, че има доста начини да бъде направено едно и също нещо Код
пак показва само 11ти ред. Титла: Re: bash script за проверка на файл Публикувано от: mrowcp в May 23, 2010, 16:40 Нещо запецнах :)
Проблема е следния: Код: cat ip.log Код: cat ip.log |awk '++_[$11] > 1 { print $11 }' до тук работи добре, но когато задам да е по-малък от 2ка ми връща всичките IP-та: Код: cat ip.log |awk '++_[$11] < 1 { print $11 }' и Код: cat ip.log |awk '++_[$11] < 2 { print $11 }' а тук би трябвало да се виждат само 222.73.163.21 и 192.192.192.192, защото за тях има само по един запис в ip.log-a. P.S. Код: cat ip.log |awk '++_[$11] == 1 { print $11 }' и така не става :( ЕДИТ: разбрах защо не работи.ама, че съм... кух :) |