node 方案
------------------------
const request = require('request'); // 引入 request 模块
const domainList = ['example.com', 'example.org', 'example.net']; // 指定域名列表
const interval = 5000; // 指定轮询间隔,单位为毫秒
function poll() {
// 从域名列表中取出第一个域名
const domain = domainList.shift();
// 向域名发送请求
request(`http://${domain}`, (error, response, body) => {
if (error) {
// 如果请求失败,打印错误信息
console.log(`Error: ${error.message}`);
} else {
// 如果请求成功,打印响应结果
console.log(`Response from ${domain}: ${body}`);
}
// 将域名插入域名列表的末尾
domainList.push(domain);
// 重新开启一个轮询
setTimeout(poll, interval);
});
}
// 开启第一个轮询
poll();
linux shell 方案
---------------
#!/bin/bash
# 域名列表
domainList=(
"a.com"
"b.com"
"c.com"
"d.com"
)
# 轮询间隔,单位为秒
interval=10800
function poll() {
# 从域名列表中取出第一个域名
domain=${domainList[0]}
# 打开域名对应的网页
wget "http://$domain"
# 将域名插入域名列表的末尾
domainList=(${domainList[@]:1} ${domain})
# 重新开启一个轮询
sleep $interval
poll
}
# 开启第一个轮询
poll
win bat 方案
-----------------
@echo off
rem 域名列表
set domainList=a.com b.com c.com d.com
rem 轮询间隔,单位为秒
set interval=10800
rem 轮询函数
:poll
rem 从域名列表中取出第一个域名
for /f "tokens=1 delims= " %%d in "%domainList%" do set domain=%%d
rem 打开域名对应的网页
curl "http://%domain%"
rem 将域名插入域名列表的末尾
set domainList=%domainList: = % %domain%
rem 重新开启一个轮询
ping -n %interval% 127.0.0.1 > nul
goto poll
rem 开启第一个轮询
goto poll
#!/bin/bash
# 本脚本加入到定时运行中, 每20分钟访问一次
# */20 * * * * /bin/sh /home/www/tool/monitor.sh > /dev/null 2>&1
[ -f /etc/init.d/functions ] && source /etc/init.d/functions
#define array url list
array=(
http://www.baidu.com/
http://www.163.com/
http://www.taobao.com/
)
check_url(){
# wget -T 5 -t 2 --spider $1 &>/dev/null
curl --connect-timeout 3 -sL -D- $1 > /dev/null
}
main(){
for((i=0;i<${#array[@]};i++))
do
check_url ${array[i]}
done
}
main
exit
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...