crontab计划任务

crontab计划任务

打开crontab的配置文件:

[root@localhost ~]# cat /etc/crontab

1 # Example of job definition:
2 # .---------------- 分钟(0 - 59)
3 # |  .------------- 小时 (0 - 23)
4 # |  |  .---------- 一月中的哪一天 (1 - 31)
5 # |  |  |  .------- 月份 (1 - 12) OR jan,feb,mar,apr ...
6 # |  |  |  |  .---- 星期 (0 - 6) (Sunday=0 or 7) OR sun,mon...
7 # |  |  |  |  |
8 # *  *  *  *  * 用户 命令(或者脚本)

可以看到,他的5颗星分别代表 分钟、小时、天、星期、月份
那么可以实现的最小时间单位是分钟,想要实现秒级的计划任就需要另外做些处理:

我们要看到秒级的执行情况,需要借用一个date命令,这一样可以很好的看到结果。

每分钟将date输出的内容导入到/mnt/file的计划任务是:

1[root@eg0 mnt]# crontab -l
2* * * * *  date>>/mnt/file

这是每一分钟执行一次计划任务。接下来进入正题,看如何实现每秒执行一次的计划任务:

先来看下每10秒执行一次的实现方法:

1 [root@eg0 mnt]# crontab -l
2 * * * * *  sleep 10; date>>/mnt/file
3 * * * * *  sleep 20; date>>/mnt/file
4 * * * * *  sleep 30; date>>/mnt/file
5 * * * * *  sleep 40; date>>/mnt/file
6 * * * * *  sleep 50; date>>/mnt/file
1  [root@eg0 mnt]# cat /mnt/file
2  Wed Nov 29 07:46:01 EST 2017
3  Wed Nov 29 07:46:11 EST 2017
4  Wed Nov 29 07:46:21 EST 2017
5  Wed Nov 29 07:46:31 EST 2017
6  Wed Nov 29 07:46:41 EST 2017
7  Wed Nov 29 07:46:51 EST 2017
8  Wed Nov 29 07:47:01 EST 2017
9  Wed Nov 29 07:47:11 EST 2017
10 Wed Nov 29 07:47:21 EST 2017
11 Wed Nov 29 07:47:31 EST 2017
12 Wed Nov 29 07:47:41 EST 2017
13 Wed Nov 29 07:47:51 EST 2017
14 Wed Nov 29 07:48:01 EST 2017

用sleep10 表示休眠10s,
这样写就实现了每10秒执行一次,用了5个计划任务。如果要实现每5秒,甚至是每1秒执行一次,就要写59行计划任务了,显然太繁琐,可以用一个脚本的方式实现:

1 [root@eg0 mnt]# vim test.sh
2 #!/bin/bash
3 step=1  #间隔的秒数,不能大于60
4 for ((i=0;i<60;i=(i+step)));do
5    $(date>>/mnt/file)
6    sleep $step
7 done
8 exit 0
1 [root@eg0 mnt]# chmod +x test.sh
2 [root@eg0 mnt]# crontab -e
3 * * * * *   sh /mnt/date.sh

结果是:

1  [root@eg0 mnt]# cat file
2  Wed Nov 29 08:06:02 EST 2017
3  Wed Nov 29 08:06:03 EST 2017
4  Wed Nov 29 08:06:04 EST 2017
5  Wed Nov 29 08:06:05 EST 2017
6  Wed Nov 29 08:06:06 EST 2017
7  Wed Nov 29 08:06:07 EST 2017
8  Wed Nov 29 08:06:08 EST 2017
9  Wed Nov 29 08:06:09 EST 2017
10 Wed Nov 29 08:06:10 EST 2017
11 Wed Nov 29 08:06:11 EST 2017
12 Wed Nov 29 08:06:12 EST 2017
13 Wed Nov 29 08:06:13 EST 2017
14 Wed Nov 29 08:06:14 EST 2017
15 Wed Nov 29 08:06:15 EST 2017
16 Wed Nov 29 08:06:16 EST 2017
17 Wed Nov 29 08:06:17 EST 2017
18 Wed Nov 29 08:06:18 EST 2017
19 Wed Nov 29 08:06:19 EST 2017
20 Wed Nov 29 08:06:20 EST 2017
21 Wed Nov 29 08:06:21 EST 2017
22 Wed Nov 29 08:06:22 EST 2017
23 Wed Nov 29 08:06:23 EST 2017
24 Wed Nov 29 08:06:24 EST 2017
25 Wed Nov 29 08:06:25 EST 2017
26 Wed Nov 29 08:06:26 EST 2017
27 Wed Nov 29 08:06:27 EST 2017
28 Wed Nov 29 08:06:28 EST 2017
29 Wed Nov 29 08:06:29 EST 2017
30 Wed Nov 29 08:06:30 EST 2017
31 Wed Nov 29 08:06:31 EST 2017
32 Wed Nov 29 08:06:32 EST 2017
33 Wed Nov 29 08:06:33 EST 2017
34 Wed Nov 29 08:06:34 EST 2017
35 Wed Nov 29 08:06:35 EST 2017
36 Wed Nov 29 08:06:36 EST 2017
37 Wed Nov 29 08:06:37 EST 2017
38 Wed Nov 29 08:06:38 EST 2017
39 Wed Nov 29 08:06:39 EST 2017
40 Wed Nov 29 08:06:40 EST 2017
41 Wed Nov 29 08:06:41 EST 2017
42 Wed Nov 29 08:06:42 EST 2017
43 Wed Nov 29 08:06:43 EST 2017
44 Wed Nov 29 08:06:44 EST 2017
45 Wed Nov 29 08:06:45 EST 2017
46 Wed Nov 29 08:06:46 EST 2017
47 Wed Nov 29 08:06:47 EST 2017
48 Wed Nov 29 08:06:48 EST 2017
49 Wed Nov 29 08:06:49 EST 2017
50 Wed Nov 29 08:06:50 EST 2017
51 Wed Nov 29 08:06:51 EST 2017
52 Wed Nov 29 08:06:52 EST 2017
53 Wed Nov 29 08:06:53 EST 2017
54 Wed Nov 29 08:06:54 EST 2017
55 Wed Nov 29 08:06:55 EST 2017
56 Wed Nov 29 08:06:56 EST 2017
57 Wed Nov 29 08:06:57 EST 2017
58 Wed Nov 29 08:06:58 EST 2017
59 Wed Nov 29 08:06:59 EST 2017
60 Wed Nov 29 08:07:00 EST 2017
61 Wed Nov 29 08:07:01 EST 2017
62 Wed Nov 29 08:07:01 EST 2017
63 Wed Nov 29 08:07:02 EST 2017
64 Wed Nov 29 08:07:03 EST 2017

可以看到结果是每一秒都将date的结果导入到了指定的文件,这样就实现了每秒执行一次了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值