[CentOS] parsing out adjacent text

Tue Jun 3 13:56:17 UTC 2014
Tim Dunphy <bluethundr at gmail.com>

Guys,

 Thank you all for your input. I can't believe how helpful this list is and
I'm very grateful. Ok so here is what I have so far of my script to get the
number of apache requests to a given host:

#!/bin/bash

# this script parses mod_status to see which hosts are getting the most
requests


echo “Time:”  >> /tmp/apache_request_log

/usr/bin/ts >> /tmp/apache_request_log

echo -e “\n” >> /tmp/apache_request_log

echo “hostname”   >> /tmp/apache_request_log

/bin/hostname -f  >> /tmp/apache_request_log

echo -e “\n” >> /tmp/apache_request_log

echo “hostname ip”   >> /tmp/apache_request_log

/bin/hostname -i  >> /tmp/apache_request_log

echo -e “\n” >> /tmp/apache_request_log

echo “Requests per second:”  >> /tmp/apache_request_log

/usr/bin/GET  http://$(/bin/hostname -i)/server-status  | /bin/grep  -i -e
request -e requests/sec | grep -i -v -e currently  -e code  -e ss | awk
'{print $1}' | cut -d'>' -f2  >> /tmp/apache_request_log

echo “Requests processed / Idle workers:”  >> /tmp/apache_request_log

/usr/bin/GET http://$(hostname -i)/server-status | /bin/grep  -i -e
requests -e currently | grep -v -e requests/sec | cut -d'>' -f2 | cut -d'<'
-f1  >> /tmp/apache_request_log

echo -e “\n\n”  >> /tmp/apache_request_log

/bin/sleep 60



So now my question is, is there any way to limit the size of the output log
from within the script without having to use logrotate? I can use that, but
I would prefer to do that from within the script if that's possib.e


Thanks

Tim


On Tue, Jun 3, 2014 at 9:29 AM, Patrick Bervoets <
patrick.bervoets at psc-elsene.be> wrote:

>
> op 03-06-14 15:18, schreef Tim Dunphy:
>
>    [root at uszmpwslp014lc ~]# GET http://$(hostname -i)/server-status  |
>> grep
>> -i  requests/sec
>> <dt>4.08 requests/sec - 80.9 kB/second - 19.8 kB/request</dt>
>>
>>
>> That works ok. And next I'm grepping it back down and awking it to just
>> the
>> part I'm interested in:
>>
>> [root at uszmpwslp014lc ~]# GET http://$(hostname -i)/server-status  | grep
>> -i
>> -e request -e requests/sec | grep -i -v -e currently  -e code  -e ss | awk
>> '{print $1}'
>> <dt>4.08
>>
>> But now I need to get rid of just the <dt> in front of the 4.08?
>>
> cut --delimiter=">" --field=2
>
> you could even get rid of the awk and pipe your grep to cut
> --delimiter=">" --field=2 | cut --delimiter=" " --field=1
>
> But there are many different ways to solve this.
>
> greetings
> Patrick
>
>
> _______________________________________________
> CentOS mailing list
> CentOS at centos.org
> http://lists.centos.org/mailman/listinfo/centos
>
>


-- 
GPG me!!

gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B