加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

CentOS 5.5下如何使用Crontab

发布时间:2016-09-06 18:14:17 所属栏目:Linux 来源:站长网
导读:服务器系统:64Bit CentOS 5.5 虽然关于 Crontab 的介绍到处都是,详细读了一遍这个词条,收获还是有的。Crontab 这个名字来自 chronos,一个古希腊语, 时间的

服务器系统:64Bit CentOS 5.5

虽然关于 Crontab 的介绍到处都是,详细读了一遍这个词条,收获还是有的。Crontab 这个名字来自 “chronos”,一个古希腊语, “时间”的意思(以下用法在生产环境下的服务器非常有用,抚琴煮酒强烈推荐);关于crontab的基础用法和语法我就不推荐了,google和51cto上到处都是,我说的是一些进阶技巧,里面也有可能是不知道的;Shell脚本均取自于线上服务器。我安装的服务器一般都是采用最小化安装,安装以后就发现启动cron的管理服务crond默认就是启动的。

service crond status

crond (pid 3444) is running…

手快的小伙可用chkconfig crond on让其在level3和level5自动运行。

cron把命令行保存在crontab(cron table)文件里,这个文件通常在 /etc 目录下。每个系统用户都可以有自己的crontab(在/var/spool/cron/ 下)。

要查看当前用户的crontab,输入crontab -l

要编辑crontab,输入crontab -e

要删除crontab,输入crontab -r

如当前是root身份,要查看/编辑/删除/某用户的crontab,只需在相应的命令后加上 -u USERNAME(如 crontab -e -u USERNAME)即可。crontab文件的默认编辑器是vi,可以输入

export VISUAL='editor'

更改默认编辑器。

cron服务每分钟不仅要读一次 /var/spool/cron 目录内的所有文件,还需要读一次 /etc/crontab 文件。配置这个文件也能让cron执行任务。使用crontab命令是对用户级任务的配置,而编辑 /etc/crontab 文件是对系统级任务的配置。

抚琴煮酒定义的crontab语法比较好记,推荐记忆学习

分 时 日 月 星期 用户 带绝对路径的命令 脚本或PHP详细路径

细心的你发现没有,crontab最小执行时间为分钟,如果要求任务是以秒为级别的怎么办,其实是有办法的,我等会以实例说明下;服务器我建议也以/etc/crontab为主,它更方便控制用户管理;建议服务器上的计划任务时间错开,不要同时并行任务,不然会在某时间段造成系统负载过大,搞得你的Nagios狂发报警邮件。

玩windows应该也会发现,windows2K系列的每修改一次系统管理员Administrator的密码就是一次浩大的工程,windows的每个计划任务scheduler都要更改密码;CentOS下修改root密码就简单多了,一条passwd命令就解决问题了,而且不影响crontab的执行。

每条 JOB 执行完毕之后,系统会自动将输出发送邮件给当前系统用户。日积月累,非常的多,甚至会撑爆整个系统。所以每条 JOB 命令后面进行重定向处理是非常必要的: 》/dev/null 2>&1 。前提是对 Job 中的命令需要正常输出已经作了一定的处理, 比如追加到某个特定日志文件;》 /dev/null 2>&1 表示把所有标准输出发送到 /dev/null(linux的回收站),把标准错误输出(2)发送到和标准输出(1)同样的地方(即 /dev/null)。运行这行命令将不会产生任何输出。举例说明如下:

30 15 13 6 1 * root tar czf /usr/local/backups/daily/etc.tar.gz /etc 》 /dev/null 2>&1

CentOS/FreeBSD下用crontab定时执行PHP程序的正确方法如下:

在linux下,可以使用crontab+php的方法:

1、使用crontab –e编辑定时任务

内容为:

xx:xx:xx 执行一个test.php文件

2、php文件必须在文件头一行,加上解释器路径(就象perl做的那样)

#!/usr/local/bin/php

PHP的执行需要Apache的支持,shell脚本的执行需要Linux的支持,而Linux支持定时运行某个程序的功能。

---------------------------------------------------------------

(编辑:济南站长网)

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

    热点阅读