以下方法将每20秒执行一次
crontab -e
* * * * * /bin/date
* * * * * sleep 20/bin/date
* * * * * sleep 40/bin/date
说明:需要将/bin/date更换成你的命令即可
这种做法去处理隔几十秒的定时任务还好,要是每1秒运行一次就得添加60条记录。。。如果每秒运行还是用方案一吧。
也可以编写shell脚本实现
crontab.sh
#!/bin/bash
step=2 #间隔的秒数,不能大于60
for (( i = 0i <60i=(i+step) ))do
date
sleep $step
done
exit 0
crontab -e 输入以下语句,然后:wq 保存退出。
* * * * * /home/crontab/crontab.sh
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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)