1、统计某一时间段内所有访问Apache服务器的请求个数
#!/bin/bash
#条件判断$7:$8大于等于16:30,并且小于等于17:30,再用wc统计总个数
awk -F “[/:]” ‘$7”:”$8>=”16:30”’ && $7”:”$8<=”17:30”’ /var/log/httpd/access_log | wc -l
2、统计某一时间段内所有访问Apache服务器的IP地址
#!/bin/bash
#日志文档内第1列是远程主机的IP,在前一个脚本的基础上,把第1列的内容提取出来即可
awk -F “[/:]” ‘$7”:”$8>=”16:30”’ && $7”:”$8<=”17:30”{print $1}’ /var/log/httpd/access_log
3、统计某个远程IP访问了本机Apache的次数
#!/bin/bash
awk ‘{ip[$1]++}END{for (i in ip){print ip[i],i}}’ /var/log/httpd/access_log
4、每周五的03点09分自动执行脚本完成nginx日志切割工作
[root@localhost ~]#vim /usr/local/nginx/logbak.sh
#!/bin/bash
date=date +%Y%m%d
logpath=/usr/local/nginx/logs
mv $logpath/access.log
l
o
g
p
a
t
h
/
a
c
c
e
s
s
−
logpath/access-
logpath/access−date.log
mv $logpath/error.log
l
o
g
p
a
t
h
/
e
r
r
o
r
−
logpath/error-
logpath/error−date.log
kill -USR1 $(cat $logpath/nginx.pid)
[root@localhost ~]#chmod +x /usr/local/nginx/logbak.sh
[root@localhost ~]#crontab -e #将脚本加入周期任务
09 03 * * 5 /usr/local/nginx/logbak.sh
5、检测mysql服务是否存活
#!/bin/bash
#host为需要检测的mysql主机的IP,user为mysql账户名,passwd为密码
HOST=127.0.0.1
USER=root
PASSWD=com.abc
mysqladmin -h $HOST -u
U
S
E
R
−
p
’
USER -p’
USER−p’PASSWD’ ping &> /dev/null
if [ $? -eq 0 ];then
echo “mysql is up”
else
echo “mysql is down”
fi