Sandy在很多文章里面都有提到利用curl去提交或者更新网站之类的文章,但是问题来了,在服务器里面执行太多的crontab.总感觉到卡顿了.这个时候树莓派或者家里的群晖又或者虚拟机要发挥作用了.我们来写个curl批量执行的脚本.
首先我们要先了解curl怎么样才能去执行txt文件,当然是要先读取txt文件咯.那么我们可以用cat来读取,废话不多说了,我们撸起袖子干起来吧!
第一步:
把下面代码保存为auto-url.sh文件 注意cat里面的文件路径.
for URL in `cat /home/pi/Documents/auto-url.txt`; do echo $URL; curl -m 10 -s -I $1 "$URL" | grep HTTP/1.1 | awk {'print $2'}; done
-------------------------------
命令详细解说:
-m: 允许整个操作执行的最长时间(以秒为单位)。这对于防止批处理作业由于任何网络问题而挂起数小时很有用
-s:显示错误消息
-I: 仅显示文档信息
awk: 匹配模式并打印结果
结果:
pi@pi3bplus:~ $ for URL in `cat auto-url.txt`; do echo $URL; curl -m 10 -s -I $1 "$URL" | grep HTTP/1.1 | awk {'print $2'}; done
https://www.baidu.com
200
http://google.com
301
https://www.facebook.com
200
https://blog.e9china.net
405
https://blog.e9china.net:8080
如果你想查看详细的结果和响应,只需尝试添加-v into curl
,你会在命令提示符中看到详细的详细结果。
for URL in `cat auto-url.txt`; do echo $URL; curl -v -m 10 -s -I $1 "$URL" | grep HTTP/1.1 | awk {'print $2'}; done
就这样,上面的命令将打印每个URL的HTTP响应代码。
第二步:
建立auto-url.txt文件,每一个地址一行,例如:
http://www.baidu.com
http://www.google.com
然后我们执行看看:
pi@pi3bplus:~ $ bash /home/pi/Documents/auto-url.sh
http://www.baidu.com
http://www.google.com
完成,请配合crontab使用.