搜索
首页php教程php手册crontab定时任务配置记录,crontab任务

crontab定时任务配置记录,crontab任务

一、前言

  今天简单记录下crontab的配置

二、crontab目录 

/etc/crontab 文件
    这是系统运行的调度任务
 
/var/spool/cron 目录
    用户自定义的crontab任务放在此目录下
 
ls –lrt /etc/cron*
   /etc/cron.deny     表示不能使用crontab命令的用户
   /etc/cron.allow     表示能使用crontab命令的用户
   默认情况下,cron.allow不存在,如果都存在,cron.allow优先

三、crontab命令语法

具体可 crontab --help 或者 man crontab|more

crontab –l   //查看当前用户的定时任务 
crontab –e  //编辑当前用户的定时任务
crontab –r  //删除当前用户的定时任务

四、crontab任务格式

59 23 * * *  /home/xxx/crontab/test.sh > /dev/null  2>&1 &

前6列暂且用C1 - C6表示

C1 分    (1-59)
C2 时    (1-23,0表示子夜)
C3 日    (1-31)
C4 月    (1-12)
C5 星期   (0-6,0表示星期天,1表示星期一,以此类推)
C6 要运行的命令

前5列表示 命令执行的频率,最小频率是每分钟一次,其中Cn的值可用四种形式表示:
*  ,  */n  , T1-T2 , a,b,c  

当C1 为 * 时,表示每分钟都要执行命令
当C1 为 */n时,表示每隔n分钟执行一次命令
当C1 为 T1-T2时,表示从 T1分钟 到 T2分钟时间内都要执行命令
当C1 为 a,b,c 时,表示第 a,b,c 分钟都要执行命令


示例调用:

12  12 * * *  /home/xxx/crontab/test.sh >/dev/null 2>&1 
表示每天的12点12分 执行脚本

*/2 *  *  *  *  /home/xxx/crontab/test.sh >/dev/null 2>&1
表示每隔2分钟 执行一次脚本

0 23 * * 1-5  /home/xxx/crontab/test.sh >/dev/null 2>&1
表示每周一到周五的23点 执行一次脚本

0 19 * * 0  mail -s "xxx" xxx@mail.com < /tmp/maildata
表示每周日的19点 发送邮件到 xxx@mail.com

五、关于命令的说明

关于命令中 /dev/null 2>&1 的解释

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

1.创建test.sh,内容如下

#! /bin/bash
echo "time is " `date`

2.添加定时任务

* * * * *    /home/xxx/crontab/test.sh > /home/xxx/crontab/test.log &    默认是1,和下面方法一致
* * * * *   /home/xxx/crontab/test.sh 1> /home/xxx/crontab/test.log &
* * * * *   /home/xxx/crontab/test.sh > /home/xxx/crontab/test.log  2>&1 &

3.说明

1代表,标准输出,所以上述命令会将脚本的输出结果,输出到后面指定的log文件中,而不是打印到屏幕;
2代表,错误输出,&1表示文件的描述,这里表示脚本执行的错误信息重定向到1(标准输出)
而1已经重定向到指定的log文件中,所以信息都会输出到log文件
不能写成 2>1 ,缺少&,会认为是错误信息输出到名称为 1 文件中

六、注意事项

1.shell中需设置必要的环境变量
  crontab的环境变量默认不包含系统当前用户的环境,所以需添加必要的环境变量

2.尽量采用完整路径方法,避免使用相对路径

3.避免脚本的重复执行
  if(exec("ps -ef |grep 'php'|grep 'updateScript'|grep -v 'grep' |wc -l ") > 2){
    die();  
  }

  grep -v 'grep'    表示结果去过滤掉 grep 那一行
  wc -l             表示统计满足条件的行数
  这样就可以判断 php进程中,名为 updateScript 的脚本 是否已经执行了

七、参考资料

http://www.cnblogs.com/kerrycode/p/3238346.html
http://www.cnblogs.com/hazir/p/sudo_command.html

 

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
crontab定时任务不执行的一些原因,你知道吗?crontab定时任务不执行的一些原因,你知道吗?Mar 09, 2024 am 09:49 AM

crontab定时任务不执行的一些缘由总结更新时间:2019年01月09日09:34:57作者:田野上的希望这篇文章主要给你们总结介绍了关于crontab定时任务不执行的一些缘由,对每种可能发生的诱因都给出了解决方式,对遇见这个问题的同事们具有一定的参考学习价值,须要的同学们下边随着小编来一起学习学习吧序言近来在工作中遇见了一些问题,crontab定时任务竟然不执行,后来我在网上找的时侯发觉网上主要说了这5个诱因:1crond服务未启动crontab不是Linux内核的功能,而是依赖一个cron

如何使用Systemd和Crontab在Linux系统中实现任务的并行执行如何使用Systemd和Crontab在Linux系统中实现任务的并行执行Sep 26, 2023 pm 06:37 PM

如何使用Systemd和Crontab在Linux系统中实现任务的并行执行在Linux系统中,任务的并行执行是提高系统效率和性能的重要手段之一。本文将介绍如何使用Systemd和Crontab两个工具,在Linux系统中实现任务的并行执行,并提供具体的代码示例。一、Systemd介绍Systemd是一个用于管理Linux系统启动流程和服务管理的工具。通过配置

linux注释crontab文件及crontab执行sh的坑怎么解决linux注释crontab文件及crontab执行sh的坑怎么解决May 15, 2023 pm 09:58 PM

linux注释crontab文件及crontab执行sh的坑原来,在Linux下写了很多crontab,来定时执行某些任务,现在有以下需求:需求:是要注释某些crontab任务,方法:只要在所要取消的crontab任务前,加&#39;#&#39;即可。e.g.54**sunecho"runat5after4everysunday"注释:#54**sunecho"runat5after4everysunday"就这么简单。遇坑1看下面例子最近

linux crontab 错误日志怎么看linux crontab 错误日志怎么看Mar 07, 2023 am 09:29 AM

linux查看crontab错误日志的方法:1、查看文件目录“/var/log/cron”;2、通过“tail -f /var/log/cron”命令实现实时文件尾部查看;3、通过“vim /var/log/cron”命令实现通过高级文本查看器查看即可。

如何使用Systemd和Crontab在Linux系统中自动重启应用程序如何使用Systemd和Crontab在Linux系统中自动重启应用程序Sep 28, 2023 pm 03:35 PM

如何使用Systemd和Crontab在Linux系统中自动重启应用程序在Linux系统中,Systemd和Crontab是两个非常重要的工具。Systemd是一个系统和服务管理器,而Crontab则是一个用于在指定时间自动执行任务的工具。本文将以一个具体的例子,介绍如何使用Systemd和Crontab在Linux系统中自动重启应用程序。假设我们有一个No

如何利用Systemd和Crontab在Linux系统中设置定时任务的优先级如何利用Systemd和Crontab在Linux系统中设置定时任务的优先级Sep 27, 2023 am 08:25 AM

如何利用Systemd和Crontab在Linux系统中设置定时任务的优先级,需要具体代码示例在Linux系统中,我们经常需要设置定时任务来执行一些重复性的操作,例如定时备份文件、定期清理日志等。然而,不同的任务可能具有不同的优先级,有些任务需要更高的优先级来确保其准时执行,而有些任务则可以稍后执行。本文将介绍如何利用Systemd和Crontab来设置定时

如何在Linux系统中使用Systemd和Crontab实现系统自启动如何在Linux系统中使用Systemd和Crontab实现系统自启动Sep 26, 2023 am 11:57 AM

如何在Linux系统中使用Systemd和Crontab实现系统自启动引言:在Linux系统中,我们经常需要将一些常用的服务或脚本设置为系统自启动,以便系统重启后能够自动运行。在本文中,将介绍如何使用Systemd和Crontab这两个工具来实现系统自启动,并给出具体的代码示例。一、Systemd的使用Systemd是Linux操作系统中常用的系统和服务管理

Linux Crontab错误日志排查技巧分享Linux Crontab错误日志排查技巧分享Mar 18, 2024 am 09:21 AM

LinuxCrontab错误日志排查技巧分享在Linux系统中,Crontab是一种非常常用的定时任务管理工具,可以帮助用户定期执行特定的任务。然而,有时候在使用Crontab时会遇到一些错误,需要及时排查和解决。本文将分享一些排查Crontab错误日志的技巧,以及如何通过具体代码示例来定位和解决问题。查看Crontab日志首先,我们可以查看Crontab

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。