CentOS定时任务crontab命令的使用

Linux就该这么学

简介

crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

如何使用

  1. 首先查看帮助
[root@dmp004 orderreport]# crontab -h
usage:  crontab [-u user] file
    crontab [-u user] [ -e | -l | -r ]
        (default operation is replace, per 1003.2)
    -e  (edit user's crontab)
    -l  (list user's crontab)
    -r  (delete user's crontab)
    -i  (prompt before deleting user's crontab)
    -s  (selinux context)

通过usage可以看到使用格式如下:

crontab [-u user] [ -e | -l | -r ] file

-u后边跟用户名

-e 代表编辑定时任务列表

-l 列出用户定时任务

file为定义定时任务的文件

其他参数一目了然,其中file的格式很重要

minute hour day month week command

文件中共包含六个字段,前五个字段为时间,最后一个字段为要执行的命令。


minute 表示分钟,可以是0-59 

hour 表示小时,可以是0-23 

day 表示天,可以是1-31 

month表示月,可以是1-12 

week 表示周几,可以是0-7 

command代表要执行的命令,可以是linux命令,也可以是shell脚本

时间字段中

星号* 代表任何时间 

逗号, 比如hour是 “3,4,9” 代表3点、4点、9点都要执行 

横杠- 代表范围 比如hour是“3-9”,代表3点至9点都要执行 

斜线\/ 代表时间间隔 比如hour是 “0-23/2”,代表在0至23点之间,每两个小时执行一次

常用

  1. 查看当前用户下的定时任务
[root@dmp004 orderreport]# crontab -l
50 17 * * * /home/mofei/task/orderreport/start.sh
  1. 查看用户root下的定时任务
[root@dmp004 orderreport]# crontab -u root -l
50 17 * * * /home/mofei/task/orderreport/start.sh

3.给root用户添加定时任务 

定义test.task,内容如下:

* * * * * echo 'this is a test'

添加到定时任务列表

[root@dmp004 orderreport]# crontab -u root test.task
[root@dmp004 orderreport]# crontab -u root -l
* * * * * echo 'this is a test'
  1. 删除root的定时任务
[root@dmp004 orderreport]# crontab -u root -r

本文由 CentOS中文站 - 专注Linux技术 作者:centos 发表,其版权均为 CentOS中文站 - 专注Linux技术 所有,文章内容系作者个人观点,不代表 CentOS中文站 - 专注Linux技术 对观点赞同或支持。如需转载,请注明文章来源。

相关文章

发表评论

邮箱地址不会被公开。 必填项已用*标注