Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在n次之后中止wget_Php_Linux_Unix_Cron_Wget - Fatal编程技术网

Php 如何在n次之后中止wget

Php 如何在n次之后中止wget,php,linux,unix,cron,wget,Php,Linux,Unix,Cron,Wget,我正在检查网站是在线还是离线。如果脱机,此cron任务将调用url向我发送消息 这是我的cron工作: * * * * * /usr/bin/wget "www.mydomain.fr" --timeout 30 -O - 2>/dev/null | grep "a_string_in_the_site" || echo "The site is offline" | wget "urltotextmeamessage.com" 此任务每30秒检查一次站点状态,如果站点处于脱机状态,则发

我正在检查网站是在线还是离线。如果脱机,此cron任务将调用url向我发送消息

这是我的cron工作:

* * * * * /usr/bin/wget "www.mydomain.fr" --timeout 30 -O - 2>/dev/null | grep "a_string_in_the_site" || echo "The site is offline" | wget "urltotextmeamessage.com"
此任务每30秒检查一次站点状态,如果站点处于脱机状态,则发送一条消息:OK

问题是,我不希望在网站离线时,每30秒就有数百条消息

有没有可能在n次之后停止cron任务(或者“中断”)直到站点再次联机


有什么想法吗?

我不会停止cron作业,因为您仍然需要检查 如果服务器再次联机。您可以将MSG限制为 使用此脚本确定/关闭MSG:

#!/bin/bash
#   /usr/local/sbin/check_webserver

wget -O - -q "checkurl" | if grep -q "checkword"; then
    echo "Server OK" > /var/run/check_webserver
else
    echo "Server DOWN" > /var/run/check_webserver
fi

diff -q /var/run/check_webserver /var/run/check_webserver.old >/dev/null  2>&1 || 
cat /var/run/check_webserver
# or put some other msg service than cron mail here

cp /var/run/check_webserver /var/run/check_webserver.old
并将此添加到cron:

* * * * * /usr/local/sbin/check_webserver 

我不会停止cron的工作,因为您仍然需要检查 如果服务器再次联机。您可以将MSG限制为 使用此脚本确定/关闭MSG:

#!/bin/bash
#   /usr/local/sbin/check_webserver

wget -O - -q "checkurl" | if grep -q "checkword"; then
    echo "Server OK" > /var/run/check_webserver
else
    echo "Server DOWN" > /var/run/check_webserver
fi

diff -q /var/run/check_webserver /var/run/check_webserver.old >/dev/null  2>&1 || 
cat /var/run/check_webserver
# or put some other msg service than cron mail here

cp /var/run/check_webserver /var/run/check_webserver.old
并将此添加到cron:

* * * * * /usr/local/sbin/check_webserver 

尝试对crone作业应用条件。编写一个脚本,使作业…尝试在crone作业上应用条件。写一个脚本,使工作。。。