【发布时间】:2013-10-20 09:29:42
【问题描述】:
我写了一些 shell bash 来检查 apache 是否有错误?我使用curl我的一页,如果head返回200 ok,似乎apache运行良好,否则,做service httpd restart,为了监控脚本是否,我将一些运行日期和状态写入一些日志(1.txt)。
apache.sh
#!/bin/bash
curl -I http://www.mydomain.com/check.php 2>/dev/null | head -1 | grep -q " 200 OK"
if [ $? -eq 0 ]; then echo "ok $(date)" >> 1.txt; else service httpd restart;echo "restart $(date)" >> 1.txt; fi
crontab
*/6 * * * * /bin/sh /home/username/apache.sh >/dev/null 2>&1
但是昨天我的apache还是没了,(子进程xxxx还是没有退出,发送SIGKILL)。
我在 ssh 命令行 /bin/sh /home/username/apache.sh 中尝试过,没有写入日志(1.txt 为空)且没有错误警告。
问题出在哪里?谢谢。
【问题讨论】:
-
检查您的 syserr 登录
/var/logs并尝试提供 curl 的完整路径,例如/usr/local/bin/curl或任何您拥有的。
标签: linux apache bash shell curl