管理计划任务(一次性和周期性)

一次性:

 

at time:at后面接上的是时间,即分秒,输入之后,会要求你输入定时执行的命令。当语句输入完毕之后,按ctrl+D退出,该执行结果是不会在终端上显示的,而会发送邮件。通过

mailx的命令可以查看该邮件

time的格式:HH:mm YYYY-MM-DD遵循的格式是时分年月日的格式

-l:显示等待执行的计划任务

-c:查看计划任务的内容

-d  JobID:可以删除计划任务,注意-d后面跟的是计划任务的ID,即使用-l选项查看的内容。

特殊的at用法:

at 14:14 tomorrow :表示明天的14点14分执行

at now+3minutes表示三分钟后执行

同时minutes还可以改为hours或者days

echo 命令|at time :还可以通过这种将命令重定向给at命令的方式,避免交互的执行计划任务

周期性

corntab命令

输入crontab -e可以编辑一个计划任务,-u:是指定用户指定特殊的计划任务

它的每行的格式如下所示

分  时 日 月 星期   命令

如果我们要忽视其中的一个时间因素可以使用星号,下面是一些案例

每隔三小时执行:0 */3 *  *  *  command :可以看到在“时位”下,有一个斜杆,斜杆后面有一个数字,其代表着虽然我忽略了特定的时钟,但是我要规定我必须每隔三小时就必须执行,也就是说,斜杆代表的是执行的间隔,当我们指定了”时位“上的时间,那么”分位“上的时间也必须指定。因为时是比分大的量,同样的若我们在”日位“上指定了数值,那么”时位“和”分位“上也必须指定数值,而不能用星号代替。

我们再看一个例子:0 1,2,3 * * * command :该命令代表着每天的1,2,3时执行该命令,可以看到逗号隔开了各个小时。正是因为可能逗号隔开的小时数太多,于是使用斜杆加数字的方式表示一段有规律的时间间隔。

0 0 3-20 * *  command:该命令代表每月的3到20号的0时0分,执行该命令,我们可以使用”-“符号去代表一段时间,而省去了单个表示的麻烦。

注意!!!命令都必须给出完整路径,同时在crontab的编辑模式下,“%”具有特殊的用途,如果想要使用该符号的话,需要使用“/”进行转义。

我们还可以编辑etc目录下的crontab文件进行周期性计划任务的制定!!!,这个文件的格式已经给出,比较直观,我觉得比较好,对应的内容如下图所示: 

总结

星号:代表着忽视的时间因素

逗号:多个时间之间的表示符号,如1,2,3

”-“:代表一段时间间隔

”/“:代表每隔多久

(转)

Linux /etc/cron.d作用(转自 定时任务crontab cron.d)

原文链接:http://huangfuligang.blog.51cto.com/9181639/1608549

一、cron.d增加定时任务

当我们要增加全局性的计划任务时,一种方式是直接修改/etc/crontab。但是,一般不建议这样做,/etc/cron.d目录就是为了解决这种问题而创建的。

例如,增加一项定时的备份任务,我们可以这样处理:在/etc/cron.d目录下新建文件backup.sh,内容如下:

    # m h dom mon dow user command

    * 1 * * * root /sbin/mon_zetc_logtar.sh

cron进程执行时,就会自动扫描该目录下的所有文件,按照文件中的时间设定执行后面的命令。

cron执行时,也就是要读取三个地方的配置文件:一是/etc/crontab,二是/etc/cron.d目录下的所有文件,三是每个用户的配置文件

二、控制对 cron 的使用

/etc/cron.allow 和 /etc/cron.deny 文件被用来限制对 cron 的使用。这两个使用控制文件的格式都是每行一个用户。两个文件都不允许空格。如果使用控制文件被修改了,cron 守护进程(crond)不必被重启。使用控制文件在每次用户添加或删除一项 cron 任务时都会被读取。

无论使用控制文件中的规定如何,根用户都总是可以使用 cron。

如果 cron.allow 文件存在,只有其中列出的用户才被允许使用 cron,并且 cron.deny 文件会被忽略。

如果 cron.allow 文件不存在,所有在 cron.deny 中列出的用户都被禁止使用 cron

三、启动或关闭

由于Cron 是Linux的内置服务,可以用以下的方法启动、关闭这个服务:

/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置

四、crontab介绍

/etc/crontab 文件中的每一行都代表一项任务,它的格式是:

minute         hour         day         month         dayofweek         command

    minute    — 分钟,从 0 到 59 之间的任何整数

  • hour      — 小时,从 0 到 23 之间的任何整数

  • day       — 日期,从 1 到 31 之间的任何整数(如果指定了月份,必须是该月份的有效日期)

  • month     — 月份,从 1 到 12 之间的任何整数(或使用月份的英文简写如 jan、feb 等等)

  • dayofweek — 星期,从 0 到 7 之间的任何整数,这里的 0 或 7 代表星期日(或使用星期的英文简写如 sun、mon 等等)

  • command — 要执行的命令(命令可以是 ls /proc >> /tmp/proc 之类的命令,也可以是执行你自行编写的脚本的命令。)

在以上任何值中,星号(*)可以用来代表所有有效的值。譬如,月份值中的星号意味着在满足其它制约条件后每月都执行该命令。

整数间的短线(-)指定一个整数范围。譬如,1-4 意味着整数 1、2、3、4。

用逗号(,)隔开的一系列值指定一个列表。譬如,3, 4, 6, 8 标明这四个指定的整数。

正斜线(/)可以用来指定间隔频率。在范围后加上 /<integer> 意味着在范围内可以跳过 integer。譬如,0-59/2可以用来在分钟字段定义每两分钟。间隔频率值还可以和星号一起使用。例如,*/3 的值可以用在月份字段中表示每三个月运行一次任务。

开头为井号(#)的行是注释,不会被处理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mllllk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值