CentOS 5.5下如何使用Crontab

服务器系统: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支持定时运行某个程序的功能。

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

时间: 2024-10-02 10:48:29

CentOS 5.5下如何使用Crontab的相关文章

在CentOS 6.2下编译Apache使其支持HTTPS

HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容 就需要SSL. 它是一个URI scheme(抽象标识符体系),句法类同http:体系.用于安全的HTTP数据传输.https:URL表明它使用了HTTP,但HTTPS存在不同 于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之

CentOS 5.1下跑Mono和Asp.net的实现方法分享

下载编译环境: yum install gcc bison pkgconfig glib2-devel gettext make httpd-devel gcc-c++ libstdc++-devel 下载并解压源代码: wget http://ftp.novell.com/pub/mono/sources/mono/mono-2.6.3.tar.bz2 wget http://ftp.novell.com/pub/mono/sources/mod_mono/mod_mono-2.6.3.tar

服务器-centOS tomcat 环境下的301重定向问题,求指教

问题描述 centOS tomcat 环境下的301重定向问题,求指教 最近接受一个任务,有关域名301重定向的问题向大家请教,问题如下: 1.301重定向只能通过代码的形式实现么? 是否一定要用一个虚拟服务器来接收根域名的请求,然后重定向到二级域名, 如果是的话还请各位能提一些具体实现的建议 2. 域名访问返回的http状态代码为302 请直接这种情况是怎么产生的,我该怎么定位和解决. 多谢各位 解决方案 一般是用现成的服务器框架,这样可以很容易返回301 302也是重定向.一般是地址换了地方

CentOS 6.5 下MySQL 5.7.12主从复制配置详解

为什么使用主从架构? 1.实现服务器负载均衡: 2.通过复制实现数据的异地备份: 3.提高数据库系统的可用性: 4.可以分库[垂直拆分],分表[水平拆分]: 主从配置的前提条件 1.MySQL版本一致: 你还没有安装MySQL? 请参考:CentOS 6.5 下安装MySQL 5.7.12,使用官网下载的rpm安装包 2.MySQL中的数据一致: 不一致就把它们搞一致! 3.操作前停止一切更新操作(写入.更新.删除等): 配置master(主服务器) vi /etc/my.cnf #[必须]启用

CentOS 7.x下的LEMP环境搭建详细教程_Linux

最近由于项目需求,将服务器从CentOS6升级到CentOS7,对应的PHP版本也升级到PHP5.6.我们熟悉的有LEMP环境一键安装包,但是本文我们将单独安装各个组件模块,并搭建一个完整的PHP运行平台. 我们常说的LNMP环境是指Linux/nginx/MySQL/PHP组合,而LEMP是什么呢?其实Nginx的发音是Engine-X = E,LEMP包是由Linux.nginx.MariaDB/MySQL和PHP组成的,那么看来LEMP和LNMP是一样的,而现在业内习惯性的称作LEMP.M

CentOS 7.0下使用yum安装mysql的方法详解_Mysql

CentOS7默认数据库是mariadb,配置等用着不习惯,因此决定改成mysql,但是CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1.下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2.安装mysql-community-release-el7-5.noarch.rpm包 $ sudo rpm -ivh mys

Ubuntu 13.04/CentOS 6.4 下C++开发时的相关设置

Ubuntu 13.04/CentOS 6.4 下C++开发时的相关设置 一.基本设置 首先,为了可以使我们的c++ 可以找到 iostream类,std标准库,我们需要在C/C++ General->Paths and Symbols 中添加include dictionarys. 当然,从c/c++ Build ->settings->gcc c++ complier中也可以添加.这样,我们便可以解决include包含问题. 其次,On a project with two targ

CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)_php实例

一.安装前的准备工作 1.yum update #更新系统 2.yum install gcc gcc-c++ autoconf automake cmake bison m4 libxml2 libxml2-devel libcurl-devel libjpeg-devel libpng-devel libicu-devel #安装php.MySQL.Nngix所依赖的包 3.下载以下包 #我把所有源文件都下载在root目录,读者可自行修改源文件存放目录 3.1 libmcrypt-2.5.8

在RHEL/CentOS 5/6下停用按下Ctrl-Alt-Del 重启系统的功能

在RHEL/CentOS 5/6下停用按下Ctrl-Alt-Del 重启系统的功能 在Linux里,由于对安全的考虑,我们允许任何人按下Ctrl-Alt-Del来重启系统.但是在生产环境中,应该停用按下Ctrl-Alt-Del 重启系统的功能. 在这篇文章里,我们将要介绍如何在RHEL和CentOS下停用该热键. 在RHEL 5.X和CentOS 5.X下 ### 保护init进程免于Ctrl-Alt-Del,像下面一样编辑'/etc/inittab'里由'ca::ctrlaltdel:'开头的