linux_cron定时任务

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、计划任务概说:

计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思。在Linux中,我们经常用到crond 服务器来完成这项工作。cron服务器可以根据配置文件约定的时间来执行特定的作务。比如我们可以在配置文件中约定每天早上4点,对httpd 服务器重新启动,这就是一个计划任务:

下面我们先来说说cron:

2、cron:

在Linux系统中,计划任务一般是由cron承担,我们可以把cron设置为开机时自动启动。cron启动后,它会读取它的所有配置文件(全局性配置文件/etc/crontab,以及每个用户的计划任务配置文件),然后cron 会根据命令和执行时间来按时来调用度工作任务。

2.1 cron 的安装和启动:

在一般情况下,cron都是系统默认安装的,我们要学会查看软件包是否已经安装:

2.1.1 在Redhat 或Fedora等RPM包管理的系统的安装:

判断系统是否已经安装cron相关的包

Fedora 5.0 系统的情况:

其它版本的Fedora及Redhat的系统和这相似:

[root@localhost ~]# rpm -qa |grep cron

vixie-cron-4.1-54.FC5

anacron-2.3-36.1

crontabs-1.10-7.1

其中vixie-cron软件包是cron的主程序,您可以通过下面的命令来了解它,其它软件包同理:

[root@localhost beinan]# rpm -ql vixie-cron

crontabs 软件包是用来安装、卸装、或列举用来驱动cron 守护进程的表格的程序。cron 守护进程检查crontab 文件来查看某个指定命令被调度执行的时间。如果命令已经调度,守护进程就会执行它们。了解crontabs软件包都安装了些什么,应该用下面的命令:

[root@localhost beinan]# rpm -ql crontabs

如果没有安装,可以从光盘中找出文件名带有cron字样的软件包来安装。

[root@localhost ~]# rpm -ivh vixie-cron-4.1-54.FC5*

[root@localhost ~]# rpm -ivh crontabs*

也可以用yum 来在线安装:

[root@localhost ~]# yum install vixie-cron

[root@localhost ~]# yum install crontabs

2.1.2 在Slackware系统中的安装:

在Slackware中cron软件包是dcron,您可以在光盘中找出来安装它:

查看是否已经安装了dcron软件包,您可以这样查看。在这里能列出软件包详细的安装情况:

[root@localhost ~]# more /var/adm/packages/dcron*

如果没有安装,请用下面的命令来安装。在第一张安装盘中找出dcron软件包:

[root@localhost ~]# installpkg dcron*.tgz

2.1.3 cron 的开启、停止、重新启动方法:

cron配置文件被修改后,想让新文件生效,必须重新crond服务器,有两种方法可供选择:

第一种在Fedora或Redhat 等以RPM包管理的系统中:

[root@localhost ~]# /etc/init.d/crond start

[root@localhost ~]# /etc/init.d/crond stop

[root@localhost ~]# /etc/init.d/crond restart

如果想在Fedora 和Redhat 或以这些发行版为基础克隆的发行版,如果想自动开机运行,请用下面的办法:

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

第二种:通用

[root@localhost ~]# pgrep crond 注:判断crond 是否在运行:

[root@localhost ~]# pkill crond 注:杀掉正在运行中的crond:

[root@localhost ~]# pgrep crond 注:查看是否被杀掉了:

[root@localhost ~]# /usr/sbin/crond 注:运行crond:

2.2 cron 配置文件:

cron 是一个服务器程序,我们都知道Linux的服务器的配置,大多是通过配置文件来完成的,cron自然也不例外,在Redhat/Fedora 等系统中它的全局性配置文件是/etc/crontab:在Slackware系统中,全局性文件是/var/spool/cron/crontabs/root 。每个用户也有自己的cron配置文件,我们可以通过crontab -e 来编辑它:

2.2.1 全局性配置文件:

下面是一个全局性的配置文件例子,以Fedora Core 5为例:

[root@localhost ~]# more /etc/crontab

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# run-parts

1 * * * * root run-parts /etc/cron.hourly

#

2 4 * * * root run-parts /etc/cron.daily

#

相关文档
最新文档