实用shell脚本5例

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/accessdate.log
mv $logpath/error.log l o g p a t h / e r r o r − logpath/error- logpath/errordate.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’ USERpPASSWD’ ping &> /dev/null
if [ $? -eq 0 ];then
echo “mysql is up”
else
echo “mysql is down”
fi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值