Linux crontab 命令介绍

语法介绍

使用权限 : root用户和crontab文件的所有者

crontab格式

语法

:

crontab [-e [UserName]|-l [UserName]|-r [UserName]|-v [UserName]|File ]

说明 :

crontab 是用来让使用者在固定时间或固定间隔执行程式之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

参数 :

-e [UserName]: 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)

-r [UserName]: 删除目前的时程表

-l [UserName]: 列出目前的时程表

-v [UserName]:列出用户cron作业的状态

时程表的格式如下 :

f1 f2 f3 f4 f5 program

其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程式。

当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程式,其余类推

当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推

当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推

当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推

使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。

由于unix版本不一样,所以部分语法有差别,例如在hp unix aix 中设定间隔执行如果采用*/n 方式将出现语法错误,在这类unix中 ,间隔执行只能以列举方式,详请见例子。

簡單使用方法:

crontab –e

後加入:

*/1 * * * * /usr/local/curl/bin/curl http://appbaike.com/

每分鐘執行一次。

然後 /sbin/service crond restart  重新啟動

詳細使用方法:

用VI编辑一个文件 cronfile,然后在这个文件中输入格式良好的时程表。编辑完成后,保存并退出。

在命令行输入

$: crontab cronfile

这样就将cronfile文件提交给c r o n进程,同时,新创建cronfile的一个副本已经被放在/ v a r / s p o o l / c r o n目录中,文件名就是用户名。

以某一频率执行任务

linux缺省会启动crond进程,crond进程不需要用户启动、关闭。
crond进程负责读取调度任务并执行,用户只需要将相应的调度脚本写入cron的调度配置文件中。
cron的调度文件有以下几个:

  1. crontab
  2. cron.d
  3. cron.daily
  4. cron.hourly
  5. cron.monthly
  6. cron.weekly

如果用的任务不是以hourly monthly weekly方式执行,则可以将相应的crontab写入到crontab 或cron.d目录中。

示例:
每隔一分钟执行一次脚本 /opt/bin/test-cron.sh
可以在cron.d新建脚本 echo-date.sh
内容为

*/1 * * * * root  /opt/bin/test-cron.sh

在指定的时间运行任务

也可以通过at命令来控制在指定的时间运行任务

如:

at -f test-cron.sh -v 10:25
其中-f 指定脚本文件, -v 指定运行时间

quote:ea946d690b="lophyxp"]首先用
contab -l >contabs.tmp
导出contab的配置。
然后编辑contabs.tmp文件。以一下格式添加一行:
分钟 小时 天 月 星期 命令
比如
10 3 * * 0,6 hello
就是每周六、周日的3点10分执行hello程序。
15 4 * * 4-6 hello
就是从周四到周六的4点15点执行hello程序。
然后用
contab contabs.tmp
命令导入新的配置。
一般不建议直接修改/etc/下的相关配置文件。

启动cron进程的方法:/etc/init.d/crond start
开机就启动cron进程的设置命令:chkconfig --add crond

方法二:

把cron加入到启动脚本中:

# rc-update add vixie-cron default

crontab -l #查看你的任务

crontab-e#编辑你的任务

crontab-r#删除用户的crontab的内容

实例讲解二:

系统cron设定:/etc/crontab
    通过 /etc/crontab 文件,可以设定系统定期执行的任务,当然,要想编辑这个文件,得有root权限

0 7   *    *   *    root    mpg123 ~/wakeup.mp3
分 时 日 月 周

示例:

0 4  * * 0     root emerge --sync && emerge -uD world              #每周日凌晨4点,更新系统
0 2 1 * *     root   rm -f /tmp/*                                                    #每月1号凌晨2点,清理/tmp下的文件
0 8 6 5 *   root     mail  robin < /home/galeki/happy.txt             #每年5月6日给robin发信祝他生日快乐

假如,我想每隔2分钟就要执行某个命令,或者我想在每天的6点、12点、18点执行命令,诸如此类的周期,可以通过 “ / ” 和 “ , ” 来设置:

*/2   *   *   *   *           root      ...............      #每两分钟就执行........
0 6,12,18   *   *   *    root      ...............      #每天6点、12点、18点执行........

每两个小时

0 */2 * * * echo "have a break now." >&gt; /tmp/test.txt

晚上11点到早上8点之间每两个小时,早上八点

0 23-7/2,8 * * * echo "have a good dream:)" &gt;&gt; /tmp/test.txt

每个月的4号与每个礼拜的礼拜一到礼拜三的早上11点

0 11 4 * 1-3 command line

1月1日早上4点

0 4 1 1 * command line

cron 执行PHP的方法

要用 crontab 自動執行 php 程式,可以這樣做:
方法一
1. 在 php 程式的第一行加入:
#!/usr/local/php/bin/php -q
例如:

Php代码

  1. #!/usr/local/php/bin/php -q
  2. <?php
  3. $foo = 123;
  4. ?>

請留意,我的 php 是安裝在 /usr/local/php,請根據你的 php 執行檔位置作出修改。
2. 將 php 程式給予可執行權限:
chmod +x testing.php
3. 執行 crontab -e,然後加入以下內容:
00 00 * * * /path/to/testing.php > /dev/null 2>&2
以上語法會在每天的零時零分執行 /path/to/testing.php
方法二
另一個方法是不用在 php 程式的第一行加入 "#!/usr/local/php/bin/php -q",可以省略第一步及第二步,直接執行 crontab -e,並輸入以下內容:
00 00 * * * usr/local/php/bin/php -q /path/to/testing.php > /dev/null 2>&2
這個方法的結果跟方法一的結果相同。

转载于:https://www.cnblogs.com/OtisBlog/archive/2012/01/30/2332175.html

Linux crontab 详细介绍及执行php相关推荐

  1. Linux命令每五分钟执行一次,Linux crontab 每5秒钟执行一次 shell 脚本 的方法

    Linux crontab 每5秒钟执行一次 shell 脚本 的方法 由于 Linux 的 crontab 的定时命令格式如下: minute hour day-of-month month-of- ...

  2. linux crontab 实现每秒执行

    linux crontab 命令,最小的执行时间是一分钟.如需要在小于一分钟内重复执行,可以有两个方法实现. 1.使用延时来实现每N秒执行 创建一个php做执行动作,非常简单,就是把当前时间写入log ...

  3. linux crontab 每5分钟执行一次_Linux系统配置及服务管理_第10章_计划任务

    一·简介 作用: 计划任务主要是做一些周期性的任务, 目前最主要的用途是定期备份数据. 分类 一次性调度执行 at Schedule one-time tasks with at. 循环调度执行 cr ...

  4. php linux权限,Linux权限详细介绍

    在理解权限之前我们要知道linux中的用户组: 在Linux中每个用户都属于一个组,Linux中每个文件都都有所有者.所有组.其他组.这几个概念我们可以用现实中的例子来理解.比如说你有一本书,那么你就 ...

  5. linux crontab 每5分钟执行一次_linux面试题:Linux定时任务必备技能有哪些?

    Linux系统在互联网公司应用越来越多,也有不少的朋友愿意加入运维的行列中.定时任务使Linux运维学习中必须掌握的一项.那么Linux定时任务内容,有哪些知识点?有哪些面试题需要掌握? 1 选择 1 ...

  6. linux crontab 每5分钟执行一次_第十一章:走进Linux世界——源码包管理and任务计划。...

    一.文件管理 (1)概述 Source Code 源代码经过GCC.C++编译环境编译才能运行 可以设定个人设置,开关功能 (2)源码包管理 获取源码包--官网下载到真机,然后 rz 命令上传到虚拟机 ...

  7. 操作系统linux配置php,操作系统--Linux的详细介绍

    一 概述 1.什么是操作系统? 操作系统是人与计算机硬件交互的中介.用户无法直接与计算机硬件交互,无法直接指挥计算机工作,因此需要一个中介,这个中介就是操作系统,用户向操作系统发出命令,由操作系统直接 ...

  8. linux入门详细介绍

    此文章较长,适合慢读,可查看linux入门大全:包括零基础入门.推荐Linux资源:linux视频文档资料下载 操作系统是一种特殊的软件,用来让计算机硬件和软件协同工作,并且处理我们敲打键盘和移动鼠标 ...

  9. Linux Top 详细介绍,包含task排序

    Linux Top 当我们在终端输入 top 命令时,会弹出一个变化的页面,打印出当前系统的大量重要指标,以及很多进程当前的运行情况: 可以看到,top 命令主要是两部分,第一部分为 头部指标,打印的 ...

最新文章

  1. 费曼:所有科学知识都是不确定的
  2. 530并行日:用超算更省心
  3. 头条、滴滴、百度实习面试试题及面试总结
  4. 2018-7-22-Python全栈开发day30-socket原理与粘包-part1-TCP服务
  5. 再看电商 - 黄若 摘录
  6. mooon-agent核心设计图
  7. WEB前端超多知识总结
  8. 更新sqlmap1.5.5版本教程(附带下载地址)
  9. rockchip的pwm驱动框架
  10. MQTT如何快速助你产品化
  11. Linux重启 Redis自动启动
  12. 开启了国内弹幕文化的先河,实现B站弹幕很难么?这个开源项目了解一下
  13. 引气管理计算机失效,TAT信号无效导致ND上TAS-显示消失B737系列机务在线 - 认真、负责、细致 我们秉承的理念...
  14. 微信开放平台注册和添加应用操作指南
  15. 测测你的IQ加分析能力
  16. 神策数据王晓曼:一文详解指标体系的应用与搭建
  17. 用sed删除匹配到字符串的行
  18. Win10下Docker使用阿里专属加速器
  19. c语言成绩筛选,c语言筛选质数
  20. Linux使用基础(目录)顶顶顶

热门文章

  1. AndroidStudio_安卓原生开发_v4v7升级到androidx方法---Android原生开发工作笔记147
  2. Sentinel服务熔断只配置blockHandler_客户自定义限流处理_削峰填谷_流量控制_速率控制_服务熔断_服务降级---微服务升级_SpringCloud Alibaba工作笔记0051
  3. android学习笔记---53_采用网页设计软件界面,以及使用android系统内置的浏览器,利用js调用java方法
  4. linux驱动编写(虚拟字符设备编写)
  5. 用汇编的眼光看C++(之算术符重载)
  6. java面向对象设计_Java面向对象设计
  7. django 自定义权限_如何对django api做权限限制
  8. 大二物竞金牌转北大计算机,物理竞赛保送去北大还是清华?
  9. php 查找文件 替换内容,关于php:文件中查找和替换功能困扰
  10. 数量查看_正则表达式学习之分割字符及数量词练习