
while
true
do
command
sleep
XX
//间隔秒数
done
第二种方案,使用crontab。
以下方法将每20秒执行一次
crontab
-e
*
*
*
*
*
/bin/date
*
*
*
*
*
sleep
20
/bin/date
*
*
*
*
*
sleep
40
/bin/date
说明:需要将/bin/date更换成你的命令即可
这种做法去处理隔几十秒的定时任务还好,要是每1秒运行一次就得添加60条记录。。。如果每秒运行还是用方案一吧。
作者
shootyou
linux crontab 实现定时任务非常方便
基本格式 :
* ** ** command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
crontab文件的一些例子:
每晚的21:30重启apache。
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
每月1、10、22日
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
每天早上6点10分
10 6 * * * date
每两个小时
0 */2 * * * date
晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date
1月份日早上4点
0 4 1 jan * date
crontab最小维度是分钟,想实现秒级别的方式有两种
2.在shell脚本中实现
vim test.sh
crontab -e
在执行crontab的是经常碰到找不到命令的情况,这时候是path的问题制定path即可
例如
crontab -e
你好,每隔三秒:* * * * * /home/somedir/scripts.sh
* * * * * sleep 3 &&/home/somedir/scripts.sh
* * * * * sleep 6 &&/home/somedir/scripts.sh
* * * * * sleep 9 &&/home/somedir/scripts.sh
* * * * * sleep 12 &&/home/somedir/scripts.sh
* * * * * sleep 15 &&/home/somedir/scripts.sh
* * * * * sleep 18 &&/home/somedir/scripts.sh
* * * * * sleep 21 &&/home/somedir/scripts.sh
* * * * * sleep 24 &&/home/somedir/scripts.sh
* * * * * sleep 27 &&/home/somedir/scripts.sh
* * * * * sleep 30 &&/home/somedir/scripts.sh
* * * * * sleep 33 &&/home/somedir/scripts.sh
* * * * * sleep 36 &&/home/somedir/scripts.sh
* * * * * sleep 39 &&/home/somedir/scripts.sh
* * * * * sleep 42 &&/home/somedir/scripts.sh
* * * * * sleep 45 &&/home/somedir/scripts.sh
* * * * * sleep 48 &&/home/somedir/scripts.sh
* * * * * sleep 51 &&/home/somedir/scripts.sh
* * * * * sleep 54 &&/home/somedir/scripts.sh
* * * * * sleep 57 &&/home/somedir/scripts.sh
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)