centOS系统上安装crontab服务的安装使用

输入下面的命令查看是否安装crontab服务。

which crontab

如果已安装会显示路径,没有的话,安装也十分的简单,用yum安装crontab:

yum install vixie-cron
yum install crontabs

vixie-cron软件包是cron的主程序;crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。

下面两条简单的命令帮你查看并启动crond服务:

查看crontab服务状态:service crond status

手动启动crontab服务:service crond start

怎么查看crond服务是否开机启动命令:

chkconfig --list | grep crond

如果不知道服务名或想查看所有开机服务,那么直接输入chkconfig即可。

基本用法:

1. crontab -l
列出当前的crontab任务
2. crontab -d
删除当前的crontab任务
3. crontab -e (solaris5.8上面是 crontab -r)
编辑一个crontab任务,ctrl_D结束
4. crontab filename
以filename做为crontab的任务列表文件并载入

crontab file的格式:
crontab 文件中的行由 6 个字段组成,不同字段间用空格或 tab 键分隔。前 5 个字段指定命令要运行的时间
分钟 (0-59)
小时 (0-23)
日期 (1-31)
月份 (1-12)
星期几(0-6,其中 0 代表星期日)
第 6 个字段是一个要在适当时间执行的字符串

实例如下:

#MIN HOUR DAY MONTH DAYOFWEEK COMMAND
#每天早上6点10分
10 6 * * * date
#每两个小时
0 */2 * * * date (solaris 5.8似乎不支持此种写法)
#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date
#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date
#1月份日早上4点
0 4 1 jan * date

在使用crontab的时候,要特别注意的是运行脚本中能够访问到的环境变量和当前测试环境中的环境变量未必一致,一个比较保险的做法是在运行的脚本程序中自行设置环境变量(export)

(1)先建一个文件crond.txt如下, 每天早上5点36分重新启动
36 5 * * * reboot

(2)上传到/opt目录

(3)运行命令

crontab /opt/crond.txt
crontab -l

让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后。也要重新启动cron服务器。

在Fedora 和RedHat中,我们应该用;
[root@localhost ~]# /etc/init.d/crond restart

如果让crond 在开机时运行,应该改变其运行级别;

[root@localhost ~]# chkconfig --levels 35 crond on

service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它, cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务

====================================================

cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:

/sbin/service crond start //启动服务

/sbin/service crond stop //关闭服务

/sbin/service crond restart //重启服务

/sbin/service crond reload //重新载入配置

你也可以将这个服务在系统启动的时候自动启动:

在/etc/rc.d/rc.local这个脚本的末尾加上:

/sbin/service crond start

=================================================

参考了以上达人的资料后,为验证我的理解,写了个测试程序,过程如下,仅供参考:

Platform:EL3 User:eric

1) 建一shell run.sh内容如下

echo "OK,crontab"

date >> ~/crontab_test.txt

exit 0

2) crontab -e

输入*/1 * * * * ~/run.sh

ok, 每分钟shell都会提示收到一封信邮件

cat /var/spool/mail/eric | less会看到执行的信息

如果制止系统发邮件,可在第二步改为*/1 * * * * ~/run.sh > /dev/null

cat crontab_test.txt

Linux下如何定时执行php脚本

分为两种情况:
第一种情况:你的php脚本中没有引入其他PHP文件,也就是说没有include,require_once等命令的PHP文件
* */1 * * * /usr/local/php/bin/php  /var/www/html/wwwroot/web/script.php (每一小时执行一次script.php)
注意,这样写需要把PHP变成可执行的脚本文件。在命令行下,脚本所在目录
chmod +x script.php
注意:你的script.php文件中一定要在开始处加上: #!/usr/local/php/bin/php -q ,下面是一个完整的script.php文件代码

<?php
#!/usr/local/php/bin/php -q
session_start();
define( "DB_PASSWORD", "111111" ); // 服务器登陆密码
define( "DB_NAME", "db_shopping" ); // 数据库名称
define( "DB_USER", "root" ); // 服务器登陆用户
define( "DB_HOST", "127.0.0.1" ); // 服务器IP地址或名称
define( "DB_PORT", "3306" ); // 服务器登陆端口号
define( "DB_CHARSET", "utf8" ); // 数据库默认语言
define( "DB_DEBUG", false ); // 是否设置为调试模式
define( "DB_CLOSE", false ); // 是否主动关闭数据库连接
$con=mysql_connect(DB_HOST.":".DB_PORT,DB_USER,DB_PASSWORD);
mysql_query ( "SET character_set_connection = ".DB_CHARSET.", character_set_results = ".DB_CHARSET.", character_set_client = binary");
if (!$con) die("Mysql Error:".mysql_error());
mysql_select_db(DB_NAME,$con);
//$dates=date()
$sqll="insert into test(NAME,Sex,thisdate,state) values('love','0','2011-08-11','1')";
$resl=mysql_query($sqll);
echo "成功...";
?>

/usr/local/php/bin/php的意思是:用/usr/local/php/bin/目录中的php.exe文件来执行 /var/www/html/wwwroot/web/script.php

第二种情况:你的php脚本中有引入其他PHP文件,也就是说有用到include,require_once命令的PHP文件(先写shell脚本)
上面的方法有一个问题:当script脚本中有include文件时,脚本根本找不对PHP的路径,php将会在/bin/local/php目录下找文件,当然找不到。
所以,遇见这种情况,按照下面的方法做:
在终端上输入如下命令得到sh 和 lynx 程序的路径:
whereis sh
whereis lynx
or
which sh
which lynx
随便输入一个,其中便会返回你要的路径。如果你的系统里没有lynx,试试links,w3m,或者 links2,这些是其它的文本模型浏览器。这些浏览器将会运行你的脚本。
然后你需要创建一个sh文件,用它来调用php文件,通过lynx。假设你的服务器已经安装了lynx,sh路径为 /bin/sh,lynx路径为 /usr/local/bin/lynx

#!/bin/sh
/usr/local/bin/lynx -source http://www.yoursite.com/folder/script.php
注意感叹号
把这个脚本保存为cron-lynx.sh
保存到一个你找得到的地方,比如:

你可以把它放在网站根目录。
然后再创建一个script.php的文件。当cron运行的时候,将会通过lynx来调用它。这个文件可以通过浏览器来访问。

然后编辑主机的crontab,像下面这样。
*/1 * * * *  /usr/www/yourdirectory/sh_scripts/cron-lynx.sh
在/bin/sh 和 /usr 间有空格。就这样就设好了,还有一点要注意的是,你的sh文件和php文件都正确无误

时间: 2024-10-24 03:49:46

centOS系统上安装crontab服务的安装使用的相关文章

在CentOS系统上查看用户登录记录的方法

  保留.维护和分析日志(如某个特定时期内发生过的,或正在发生的帐号事件),是Linux系统管理员最基础和最重要的任务之一.对于用户管理,检查用户的登入和登出日志(不管是失败的,还是成功的)可以让我们对任何潜在的安全隐患或未经授权使用系统的情况保持警惕.例如,工作时间之外或放假期间的来自未知IP地址或帐号的远程登录应当发出红色警报. 在CentOS系统上,用户登录历史存储在以下这些文件中: /var/run/utmp(用于记录当前打开的会话)被who和w工具用来记录当前有谁登录以及他们正在做什么

在CentOS系统上安装REMI仓库的方法

  REMI 仓库提供了CentOS和RHEL的核心包的更新版本,尤其是最新的PHP/MySQL系列(LCTT 译注:当你需要一个更新包,而 CentOS/RHEL 没有及时提供更新时, REMI 仓库可以帮助你). 安装REMI仓库要记住的一件事是不要在启用了REMI仓库时运行yum update.因为REMI仓库的包名与RHEL/CentOS中的相同,运行yum update可能会触发意外的更新.一个好办法是禁用REMI仓库,在你需要安装RMEI仓库中独有的包时再启用. 预备工作 安装REM

CentOS系统中PHP 5.5编译安装imap模块步骤

PHP在处理IMAP和POP3邮件内容时,需要安装imap模块. PHP 5.5.16 安装imap模块 imap模块提供了可以操作 IMAP ,NNTP,POP3 和本地邮箱的方法. 以下是安装步骤: 安装依赖包 client2007e Debian:  代码如下 复制代码 apt-get install -y libc-client2007e-dev CentOS:  代码如下 复制代码 yum install -y libc-client-devel 如果缺少此依赖包,通过PHP 5.5.

在CentOS系统上安装网络监控软件ntopng

  ntopng是什么 Ntopng是一个基于网页的高速通信分析器和流量收集器.Ntopng基于ntop,它运行于所有Unix平台.MacOS X和Windows. 特性 从ntopng网站上,我们可以看到他们说它有众多的特性.这里列出了其中一些: 按各种协议对网络通信排序 显示网络通信和IPv4/v6的激活主机 持续不断以RRD格式存储定位主机的通信数据到磁盘 通过nDPI,ntop的DPI框架,发现应用协议 显示各种协议间的IP通信分布 分析IP通信,并根据源/目的地址进行排序 显示IP通信

怎么在CentOS系统上安装Docker

  Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单.容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止.Docker 帮助系统管理员和程序员在容器中开发应用程序,并且可以扩展到成千上万的节点. 容器和 VM(虚拟机)的主要区别是,容器提供了基于进程的隔离,而虚拟机提供了资源的完全隔离.虚拟机可能需要一分钟来启动,而容器只需要一秒钟或更短.容器使用宿主操作系统的内核,而虚拟机使用独立的内核. Docker 的局限性之一是,它只能用在 64 位的操作系统上. 在

CentOS系统上安装配置Oracle数据库的详细教程_oracle

一.基本配置   1.硬盘剩余空间:10G以上     虽然Oracle 10g的安装文件只有800多MB,但安装后的oracle+oraInventory目录会用差不多4G空间,再加上安装时Oracle生成的临时文件(/tmp目录需要至少400MB). 2.内存1.5G以上     官方文档说512M内存也可以安装.为了避免不必要的麻烦,请把内存加多一些. 3.Swap交换区2G 二.CenOS6 上安装Oracle 10g 1.准备安装在安装Oracle之前执行以下命令: yum insta

在CentOS系统上安装Java的openjdk的方法_java

CentOS 6.X 和 5.X 自带有OpenJDK runtime environment  (openjdk).它是一个在linux上实现开源的java 平台.CentOS  yum 命令 安装 Java SDK openjdk centos linux JAVA(openjdk)软件包名 1.java-1.7.0-openjdk - OpenJDK Runtime Environment 2.java-1.7.0-openjdk-devel - OpenJDK Development E

centos系统上Munin监控安装教程

I. 安装 在安装之前请确保已安装EPEL,如果没有,你可以参考centos安装EPEL来安装Munin yum --enablerepo=epel install munin munin-common munin-node rrdtool 通过安装提示我们可以发现,munin主要依靠perl来工作. 安装完毕后系统会有如下改变: /etc/munin/munin.conf : Munin master(服务器端) 配置文件. /etc/cron.d/munin : Munin 设置cronta

Centos系统下配置DHCP服务步骤详解

基础环境: [root@PXE ~]# uname -a Linux PXE 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux [root@PXE ~]# ifconfig eth0      Link encap:Ethernet  HWaddr 00:0C:29:70:00:DA            inet addr:1.1.1.13  Bcast:1.1.1.