免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: xiapeng
打印 上一主题 下一主题

求助!通过shell控制squid服务当掉时,自动重起服务,并发送手机短信。 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-08-09 15:11 |只看该作者
#!/bin/sh
processnum=`ps -ef --cols 300 | grep -E "squid -D" | wc -l | grep -E [0-9]{1}`
if [ $processnum -lt 2 ]
then
  echo "hello world"
  service squid restart
fi
log=`ls -l /var/log/squid  |  grep "access.log"  |  awk '{print $5}'`
if [ $log -gt 1024000 ]  //判断access.log是否大于1000M
then
  cat /dev/null > /var/log/squid/access.log  //大于的话,清空access.log
fi

这样 squid 日志过大的问题,就解决了。

但现在cache还有个问题,因为cache目录/var/spoll/squid 下是这种结构:
[root@localhost squid]# ls
00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F  swap.state
使用ls判断不出大小,用du -sh 判断的话
[root@localhost spool]# du -sh squid/
102M    squid/
结果的数值是这样的,如何能取得一个可以用来判断的数值,现在是个问题,请问有知道的吗?谢谢

论坛徽章:
0
12 [报告]
发表于 2007-08-09 16:15 |只看该作者
进程数 为2是不是缺少  grep -v grep 啊?

论坛徽章:
0
13 [报告]
发表于 2007-08-09 17:20 |只看该作者
这个脚本,单独用./rs_squid.sh运行,就没有问题。但我加到了crontab中,服务重启不了,但能清空日志文件。
系统给root用户发的信里报错:
/var/log/squid/rs_squid.sh: line 5: service: command not found

crontab设置:
* * * * * /var/log/squid/rs_squid.sh

请问这个原因在哪呢?为什么我单独执行就可以,放到crontab里就不可以呢?

论坛徽章:
0
14 [报告]
发表于 2007-08-09 23:49 |只看该作者
问题解决了。。。使用绝对路径后,就可以重启动服务了。
现在剩下 判断cache目录大小,并取得数值的问题了。请问有人知道用什么命令可以得到,当前目录的大小,并以数字方式表示的吗?
我使用du -sh 后取值不正确。

论坛徽章:
0
15 [报告]
发表于 2007-08-10 00:07 |只看该作者
原帖由 xiapeng 于 2007-8-9 23:49 发表
问题解决了。。。使用绝对路径后,就可以重启动服务了。
现在剩下 判断cache目录大小,并取得数值的问题了。请问有人知道用什么命令可以得到,当前目录的大小,并以数字方式表示的吗?
我使用du -sh 后取值不 ...

如果是linux,试试
du -s --block-size=1M /squid

论坛徽章:
0
16 [报告]
发表于 2007-08-10 00:31 |只看该作者
原帖由 tom_xx_hu@yahoo 于 2007-8-10 00:07 发表

如果是linux,试试
du -s --block-size=1M /squid


是linux AS4

太谢谢了,这个我刚才试验了,可以取得数值后面不加M的。这样就方便判断了,呵呵。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP