加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

LINUX教学:Linux计划任务 Crontab 详解

发布时间:2020-12-13 17:31:06 所属栏目:Linux 来源:网络整理
导读:《LINUX教学:Linux计划任务 Crontab 详解》要点: 本文介绍了LINUX教学:Linux计划任务 Crontab 详解,希望对您有用。如果有疑问,可以联系我们。 Q:Linux下,如果想要在指定的某个时间点干点什么事,该如何订定计划? A: 计划任务, 创立和管理在指定时间自动

《LINUX教学:Linux计划任务 Crontab 详解》要点:
本文介绍了LINUX教学:Linux计划任务 Crontab 详解,希望对您有用。如果有疑问,可以联系我们。

Q:Linux下,如果想要在指定的某个时间点干点什么事,该如何订定计划?

A:

  计划任务,创立和管理在指定时间自动执行的任务.

注意:

  要是任务计划在指定时间自动运行,计划任务的服务必需是启动的.

1、使用at命令挪用atd进程设置在某个特定的时间,执行一次性任务.

2、使用crontab命令挪用crond进程,设置按固定的周期(如每天、每周等)重复执行预先计划好的任务.

一、一次性方案任务

  在指定的日期、光阴点自动执行预先设置的一些命令操作.

  体系服务的名称:/etc/init.d/atd

[root@localhost ~]# service atd start
[root@localhost ~]# service atd status
atd (pid  5790) is running...  //确保atd系统服务启动
[root@linuxidc mydata]# at 08:45 at> reboot  //按Ctrl+D键提交任务 at> <EOT> job 3 at 2017-06-09 08:45 [root@linuxidc mydata]# atq 3 2017-06-09 08:45 a root

1、设置格局  

at? [HH:MM]? [yyyy-mm-dd]

若没有指定年代日的,默认是当天的.

  1、at? [HH:MM]?

  2、at? [HH:MM]? [yyyy-mm-dd]

  3、at? now +? 数字 [minutes|hours|days|weeks]

2、查询当前设置的at义务列表

  shell>?atq  或at -l

3、删除指定义务编号的at义务

  shell>?atrm 编号  #atrm=at -d

4、查看方案任务的具体内容

  shell>?at -c 义务号

5、使用文件中的命令作为计划任务(比拟少用)

  shell>?at 光阴 -f 文件

  1、at方案任务文件:/var/spool/at/a开头的文件,任务执行完毕,文件消失.

  2、/etc/at.deny:只有该名单里面的人弗成以使用

  3、/etc/at.allow:只有该名单里面的人可以使用

二、周期方案任务

  依照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作.

1、crontab命令挪用crond进程执行.

2、体系服务的名称:/etc/init.d/crond

3、用户界说的设置,位于文件:/var/spool/cron/用户名

4、cron服务的日记文件:/var/log/cron

[root@localhost /]# service crond start

[root@localhost /]# service crond status

crond (pid? 1935) is running...

1、cron服务设置装备摆设文件:/etc/crontab

[root@linuxidc mydata]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

注意:今后写剧本让crontab去自动执行的时候,尽量写命令的绝对目录.

  crontab 只会在/sbin、/bin、/usr/sbin、/usr/bin下查找敕令,如果敕令不在这些目录中,应该要使用绝对路径.

2、管理cron方案任务

  root用户可以管理指定用户的计划任务、普通用户只能管理本身的计划任务

  1、编纂计划任务:crontab? -e? -u? 用户名

  2、查看方案任务:crontab? -l? -u? 用户名

  3、删除方案任务:crontab? -r? -u? 用户名

[root@localhost linuxidc]# crontab -e  //进入编纂模式,不接用户名的,默认是当前用户
no crontab for root - using an empty one
crontab: installing new crontab
[root@localhost linuxidc]# crontab
-l 50 3 2 3 * echo "123" [root@localhost linuxidc]# crontab -r [root@localhost linuxidc]# crontab -l no crontab for root

3、编纂语法

  通过crontab -e 进入编纂模式后,语法格式如下:

?

时间数值的特殊表示办法:

  1、*? ? 表现该范围内的任意时间

  2、,? ? 表现间隔的多个不连续时间点

  3、-? ? 表现一个连续的时间范围

  4、/n? 指定间隔的光阴频率

注意:

  1、资源分配不均:多个方案任务同时运行.

  2、平安检查:防止有非法计划任务.

  3、周和日、月弗成同时并存:容易导致计划任务时间混乱.

4、缺陷补充  

  缺陷:cron在系统关机后不克不及执行计划任务……

  为周期性计划任务cron收拾残局的anacron程序办理该缺陷.

  1、anacron程序是系统自带的定时任务,不克不及替代cron

    服务名称:/etc/init.d/anacrond

    服务日记:/var/spool/anacron

    服务设置装备摆设文件:/etc/anacrontab

  2、会每个小时被执行一次,剧本在/etc/cron.hourly

  3、按天、周或月为单元去检查系统未进行的cron任务

  4、开机时自动运行,然后将未执行的方案任务执行一遍后,anacron 就会自动停止

本文永远更新链接地址

《LINUX教学:Linux计划任务 Crontab 详解》是否对您有启发,欢迎查看更多与《LINUX教学:Linux计划任务 Crontab 详解》相关教程,学精学透。编程之家PHP学院为您提供精彩教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读