资讯专栏INFORMATION COLUMN

crontab定时任务详解

Chao / 1380人阅读

摘要:如下即为错误的写法后台执行命令在前台运行某个任务时,终端被该任务占据,可以使用命令把任务放到后台执行。含义先看一个例子这个定时任务的意思就是在后台执行这条命令,并将错误输出重定向到标准输出,然后将标准输出全部存到文件中,并清空日志文件。

原文发表于:crontab定时任务详解
启用
    service crond start
基本格式
  #分  时  日  月  周
  * * * * *   command  path
  # 第1列表示分钟(0~59) 每分钟用"*"或者"*/1"表示
  # 第2列表示小时(0~23)
  # 第3列表示日期(1~31)
  # 第4列表示月份(1~12)
  # 第5列表示星期(0~6   0表示星期天)
示例
 #表示每晚的21:30执行命令
 30  21 * * * command
  #表示每月的1号、10号、22号的4:45执行命令
  45  4  1,10,22  * * command
   #表示每天的18:00到23:00之间每隔30分钟执行命令
   0,30  18-23  * * * command
    #表示每周六的23:00执行命令
    0  23  *  *  6   command
    #表示每小时执行命令
    *  */1  *  *  *  command

    #每天晚上23点到次日早上7点之间,每隔1小时执行命令
    *  23-7/1  *  *  *  command
    # 每月4号与每周一到周三的11点执行命令
    0  11  4  *  1-3  command
命令参数
    # 指定执行用户
    -u  [user]

    列出指定用户下的定时任务
    -l [user]
  
    #编辑指定用户下的定时任务
    -e [user]

    #删除指定用户下的定时任务
    -d [user]

    #指定crontab的目录
    -c dirname

    #删除目前的定时任务
    -r
特殊字符(示例如上)

*(星号) 代表任何时候

,(逗号) 代表分隔时段的意思

-(减号) 代表一段时间范围内

/n(斜线) 代表每隔n单位时间间隔

注意事项

不可以使用几月几号且为星期几的模式,即周与日月不可同时并存。如下即为错误的写法:

    30  12  11  9  5  command 
& 后台执行命令

在前台运行某个任务时,终端被该任务占据,可以使用&命令把任务放到后台执行。

    30  2  *  *  * php test.php  &
2>&1 含义

先看一个例子:

    0  2  *  *  *  php  test.php  >/home/logs/test.log  2>&1  &

这个定时任务的意思就是在后台执行这条命令,并将错误输出2重定向到标准输出1,然后将标准输出1全部存到/home/logs/test.log文件中,并清空/home/logs/test.log日志文件。
这里的数字意思如下:

    0 表示 键盘输入
    1 表示 标准输出
    2 表示 错误输出

上面的示例,我们也可以使用如下方式:

    #将标准输出重定向/home/logs/test.log文件中,即输出内容不打印在屏幕上
    0  2  *  *  *  php  test.php  1>/home/logs/test.log  &
    
    #将错误输出重定向/home/logs/test.log文件中
    0  2  *  *  *  php  test.php  2>/home/logs/test.log  &  

    #将错误输出重定向到标准输出,然后再标准输出重定向到/home/logs/test.log文件
    0  2  *  *  *  php  test.php  1>/home/logs/test.log  2>&1   &

    #以下两种方式代表的意思相同
    0  2  *  *  *  php  test.php  >/home/logs/test.log  2>&1  &
    0  2  *  *  *  php  test.php  1>/home/logs/test.log  2>&1   &
日志记录

crontab的运行日志记录在“/var/log/cron”文件中

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/45980.html

相关文章

  • Linux 下执行定时任务 crontab 命令详解

    摘要:安装与配置服务安装服务操作说明启动服务关闭服务重启服务重新载入配置查看服务状态手动启动服务查看服务是否已设置为开机启动,执行命令加入开机自动启动 许多内容抄录自自 竹子的博客 1、先来一个小小的例子 查看当前路径: [root@root test]# pwd /home/admin/test [root@root test]# crontab -l 查看当前用户的定时任务 ...

    QiuyueZhong 评论0 收藏0
  • Linux 下执行定时任务 crontab 命令详解

    摘要:安装与配置服务安装服务操作说明启动服务关闭服务重启服务重新载入配置查看服务状态手动启动服务查看服务是否已设置为开机启动,执行命令加入开机自动启动 许多内容抄录自自 竹子的博客 1、先来一个小小的例子 查看当前路径: [root@root test]# pwd /home/admin/test [root@root test]# crontab -l 查看当前用户的定时任务 ...

    TigerChain 评论0 收藏0
  • Linux下的crontab定时执行任务命令详解

    摘要:一服务是一个下的定时执行工具,可以在无需人工干预的情况下运行作业。用户把需要执行的命令序列放到文件中以获得执行。每天的下午点点点的时执行命令。每天的点点点点的执行命令注本文为转载,原文地址下的定时执行任务命令详解 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。c...

    Fundebug 评论0 收藏0
  • [转]详解PHP设置定时任务的实现方法

    摘要:服务器定时任务服务器定时任务需要你是独立的服务器,或者是,总之就是对系统的配置有足够的权限,虚拟空间就不要折腾这个方法了,因为你没有权限。 文章转载自:问说网 » 详解PHP设置定时任务的实现方法地址:http://www.uedsc.com/php-timing-task.html 定时运行任务对于一个网站来说,是一个比较重要的任务,比如定时发布文档,定时清理垃圾信息等,现在的网站大...

    lemon 评论0 收藏0
  • PHP实现执行定时任务的几种思路详解

    摘要:本文,我们就来深入的解析几种常见的定时任务的思路。借用第三方定时任务跳板很好玩的是,一些服务商提供了各种类型的定时任务,例如阿里云的提供了单独的定时任务,你可以填写自己应用下的某个。比如说,你可以在阿里云上建立一个每天凌晨点的定时 PHP本身是没有定时功能的,PHP也不能多线程。PHP的定时任务功能必须通过和其他工具结合才能实现,例如WordPress内置了wp-cron的功能,很厉害...

    pumpkin9 评论0 收藏0

发表评论

0条评论

Chao

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<