全球主机交流论坛

标题: linux定时任务怎么弄,秒级 [打印本页]

作者: muyang    时间: 2018-1-8 22:07
标题: linux定时任务怎么弄,秒级



每10秒访问一次网页url(不需要存储访问到的内容,只需要访问到它就行)

百度了下设置什么.sh脚本什么的,不会弄啊,

大牛详细来段完整代码

作者: 贱人就是矫情    时间: 2018-1-8 22:07
muyang 发表于 2018-1-8 22:12
这就是10秒? 我以为crontab只能设置最低1分钟呢

eqblog 没毛病!

* * * * * curl https://eqblog.com
* * * * * sleep 10; curl https://eqblog.com
* * * * * sleep 20; curl https://eqblog.com
* * * * * sleep 30; curl https://eqblog.com
* * * * * sleep 40; curl https://eqblog.com
* * * * * sleep 50; curl https://eqblog.com

这几条写crontab -e 就是每10秒执行一次。
作者: caiccp    时间: 2018-1-8 22:08
如果你打算用面板 宝塔可以做到
作者: muyang    时间: 2018-1-8 22:09
caiccp 发表于 2018-1-8 22:08
如果你打算用面板 宝塔可以做到

没打算用面板……用的军哥的lnmp
作者: Carseason    时间: 2018-1-8 22:09
创建一个sh文件,然后里面下wget 你要的网站.
然后再创个crontab任务,每隔多少时间执行一次sh就OK了
作者: leaveoff    时间: 2018-1-8 22:09
各种网站检测宝就可以啊,,,
作者: eqblog    时间: 2018-1-8 22:10
crontab -e

* * * * * sleep 10; curl https://eqblog.com

把我的网址换成你的就行了
作者: caiccp    时间: 2018-1-8 22:10
muyang 发表于 2018-1-8 22:09
没打算用面板……用的军哥的lnmp

其他的不懂 我是萌新
作者: muyang    时间: 2018-1-8 22:12
eqblog 发表于 2018-1-8 22:10
crontab -e

* * * * * sleep 10; curl https://eqblog.com


这就是10秒? 我以为crontab只能设置最低1分钟呢
作者: 老司机    时间: 2018-1-8 22:12
提示: 作者被禁止或删除 内容自动屏蔽
作者: names    时间: 2018-1-8 22:13
如果不是要求非常精准
crontab sleep就足够了
如果想实现精准 内核开启 hrtimer + 编程
作者: eqblog    时间: 2018-1-8 22:13
muyang 发表于 2018-1-8 22:12
这就是10秒? 我以为crontab只能设置最低1分钟呢

设置成0分钟 然后让他自己 sleep 10 秒就行了。。
作者: muyang    时间: 2018-1-8 22:25
贱人就是矫情 发表于 2018-1-8 22:20
eqblog 没毛病!

* * * * * curl https://eqblog.com

这种写法刚才百度好像看到过,

刚才eqblog 兄弟那种,只写一条,是不是实现不了?

另(curl前面用加路径吗,/usr/bin/curl 之类的)
作者: tutugreen    时间: 2018-1-8 22:25
本帖最后由 tutugreen 于 2018-1-8 22:33 编辑

通俗的:
crontab -e
i(进入编辑模式)
* * * * * timeout 10 /usr/bin/curl http://xxx.com > /dev/null 2>&1
* * * * * sleep 10; timeout 10 /usr/bin/curl http://xxx.com > /dev/null 2>&1
* * * * * sleep 20; timeout 10 /usr/bin/curl http://xxx.com > /dev/null 2>&1
* * * * * sleep 30; timeout 10 /usr/bin/curl http://xxx.com > /dev/null 2>&1
* * * * * sleep 40; timeout 10 /usr/bin/curl http://xxx.com > /dev/null 2>&1
* * * * * sleep 50; timeout 10 /usr/bin/curl http://xxx.com > /dev/null 2>&1

:
v
i(保存退出)
回车



优雅的:
cat>/etc/cron.hourly/job01.sh<<EOF
#!/bin/sh
for ((i=1; i<=360; i++))
do
timeout 10 /usr/bin/curl http://xxx.com > /dev/null 2>&1
sleep 10
done
EOF
chmod +x /etc/cron.hourly/job01.sh

贴到SSH回车就设好了。
作者: GeekDuanLian    时间: 2018-1-8 22:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: 贱人就是矫情    时间: 2018-1-8 22:43
muyang 发表于 2018-1-8 22:25
这种写法刚才百度好像看到过,

刚才eqblog 兄弟那种,只写一条,是不是实现不了?

是的,你如果希望每10秒执行一次,就需要写6条。

这个办法是最粗暴的, 我看也有一些dadiao们提供了更优雅一些的方式。

至于curl命令是否需要完整,这个我建议用完整的
whereis curl 就可以看到命令的完整路径了。

作者: 南琴浪    时间: 2018-1-9 03:41
"sleep 10" 就是10秒延时,写个无限循环加上这个,实现起来可比 crontab 简单多了,只不过需要把脚本挂起。
作者: eqblog    时间: 2018-1-9 03:55
muyang 发表于 2018-1-8 22:25
这种写法刚才百度好像看到过,

刚才eqblog 兄弟那种,只写一条,是不是实现不了?

是写一条只每分10秒的时候执行。。相当于每一分钟执行一次




欢迎光临 全球主机交流论坛 (https://hostloc-workers.ikyomon.com/) Powered by Discuz! X3.4