shell定时任务——每10秒访问一次网页/curl 定时访问多参数url的问题

想做个定时任务,可是crontab最小只能一分钟执行一次。
还有就是访问有参数的链接,访问出来的的不一样。

  1. 用crontab每分钟执行一次crontab.sh文件
    crontab命令
    -e : 执行文字编辑器来设定时程表
    -r : 删除目前的时程表
    -l : 列出目前的时程表

    crontab执行命令crontab -e
    */1 * * * * /bin/sh /home/visionz/crontab/crontab.sh

  2. crontab.sh 里面每10秒中调用一次链接

    #!/bin/bash
    step=10 #间隔的秒数,不能大于60
    for((i=0;i<60;i=(i+step)));do
        curl http://www.abc.com/index.php?a=1\&b=2&\c=3 #访问链接
        sleep $step
    done;
    exit 0

在shell(比如linux中的bash)中sleep还支持睡眠(分,小时)

sleep 1    睡眠1秒
sleep 1s    睡眠1秒
sleep 1m   睡眠1分
sleep 1h   睡眠1小时 

多参数url的问题
如url访问地址为: http://www.abc.com/index.php?a=1&b=2&c=3
web形式下访问url地址,使用$_GET是可以获取到所有的参数

在linux下

curl http://mywebsite.com/index.php?a=1&b=2&c=3 

$_GET只能获取到参数a,参数访问不全。

因为url中有&使其他参数获取不到,
在linux系统中& 会使进程系统后台运行
必须对&进行下转义
才能$_GET获取到所有参数

curl http://www.abc.com/index.php?a=1\&b=2\&c=3 
发布了41 篇原创文章 · 获赞 32 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/zhuxiongyin/article/details/88595057