|
|
第1行: |
第1行: |
− | = 秒级定时任务= | + | == |
− | <pre>
| |
− | #5s 执行一次
| |
− | * * * * * /usr/bin/curl http://www.test.com
| |
− | * * * * * sleep 5; /usr/bin/curl http://www.test.com
| |
− | * * * * * sleep 10; /usr/bin/curl http://www.test.com
| |
− | * * * * * sleep 15; /usr/bin/curl http://www.test.com
| |
− | * * * * * sleep 20; /usr/bin/curl http://www.test.com
| |
− | * * * * * sleep 25; /usr/bin/curl http://www.test.com
| |
− | * * * * * sleep 30; /usr/bin/curl http://www.test.com
| |
− | * * * * * sleep 35; /usr/bin/curl http://www.test.com
| |
− | * * * * * sleep 40; /usr/bin/curl http://www.test.com
| |
− | * * * * * sleep 45; /usr/bin/curl http://www.test.com
| |
− | * * * * * sleep 50; /usr/bin/curl http://www.test.com
| |
− | * * * * * sleep 55; /usr/bin/curl http://www.test.com
| |
| | | |
| + | =nc is netcat= |
| | | |
− | 这样写就实现了每10秒执行一次,用了5个计划任务。如果要实现每5秒,甚至是每1秒执行一次,就要写59行计划任务了,显然太繁琐,可以用一个脚本的方式实现:
| |
| | | |
− | #!/bin/bash
| + | =nc is ncat= |
− | step=1 #间隔的秒数,不能大于60
| + | Ncat 其实是 nmap 项目对传统的 Netcat(即 nc 命令)的重写,是包含在 nmap 安装包里的 |
− | for ((i=0;i<60;i=(i+step)));do
| |
− | $(date>>/mnt/file) #here you command
| |
− | sleep $step
| |
− | done
| |
− | exit 0
| |
− | </pre>
| |
− | | |
− | =N小时执行一次= | |
− | <pre>
| |
− | | |
− | Note
| |
− | 真正的每隔一小时、每隔105分钟执行的定时任务应该如何写呢?如下:
| |
− | | |
− | */60 * * * * #每60分钟即每小时执行一次
| |
− | */105 * * * * #每105分钟执行一次
| |
− | | |
− | 不严格来说 这也是可用的
| |
− | 这种也是错误的写法,这种能充分展示前面一小时执行一次带来的迷惑感,这种写法其实是每整3小时的0分执行一次。也就是说,它会在每天的3点、9点、12点...等3的整数倍时间点来执行,并不是真正意义上每隔3个小时执行
| |
− | | |
− | 0 */3 * * * /script.sh
| |
− | #每3小时执行一次
| |
− | | |
− | | |
− | #半小时执行一次
| |
− | 0 0/30 * * *
| |
− | | |
− | | |
− | | |
− | </pre>
| |
− | | |
− | =知识点=
| |
− | <pre>
| |
− | man 5 crontab
| |
− | | |
− | field allowed values
| |
− | ----- --------------
| |
− | minute 0-59
| |
− | hour 0-23
| |
− | day of month 1-31
| |
− | month 1-12 (or names, see below)
| |
− | day of week 0-7 (0 or 7 is Sun, or use names)
| |
− | | |
− | | |
− | </pre>
| |
| | | |
| =see also= | | =see also= |
− | [http://www.cnblogs.com/peida/archive/2013/01/08/2850483.html 每天一个linux命令(50):crontab命令]
| |
− |
| |
− | [https://www.jianshu.com/p/d93e2b177814 关于定时执行任务:Crontab的20个例子]
| |
− |
| |
− |
| |
− | [https://blog.csdn.net/weixin_37998647/article/details/78669940 crontab实现秒级的计划任务]
| |
| | | |
− | [https://www.cnblogs.com/handle/p/9246197.html Linux crontab 实现秒级定时任务 ] | + | [https://blog.csdn.net/wang7dao/article/details/7684998 Linux nc命令详解] |
| | | |
− | [https://blog.csdn.net/xinyflove/article/details/83178876 crontab的语法规则格式(每分钟、每小时、每天、每周、每月、每年定时执行 规则)]
| + | https://blog.csdn.net/freeking101/article/details/53289198?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.nonecase |
| | | |
− | [[category:ops]] | + | [[category:shell]] [[category:ops]] |