云服务器

帮助中心 >  产品文档 >  云服务器 >  服务器教程 >  CentOS下使用yum命令安装计划任务程序crontab的方法

CentOS下使用yum命令安装计划任务程序crontab的方法

概述

利用“任务计划”,可以将任何脚本、程序或文档安排在某个最方便的时间运行。通俗的讲就是定时执行某个脚本、程序。

常见用途

定时关机

定时检查更新

定时对系统配置、数据库、日志进行备份

定时清理垃圾文件

检测是否已安装


# crontab

-bash: crontab: command not found


执行 crontab 命令如果报 command not found,就表明没有安装.

开始安装


# yum -y install vixie-cron

Loaded plugins: fastestmirror, refresh-packagekit, security

Existing lock /var/run/yum.pid: another copy is running as pid 25960.

Another app is currently holding the yum lock; waiting for it to exit...


可能是系统自动升级正在运行,yum在锁定状态中。

可以通过强制关掉yum进程:


#rm -f /var/run/yum.pid

然后就可以使用yum了。


# yum -y install vixie-cron

Loaded plugins: fastestmirror, refresh-packagekit, security

Determining fastest mirrors

 * base: mirrors.btte.net

 * extras: mirrors.sina.cn

 * updates: mirrors.sina.cn

base                                         | 3.7 kB  00:00  

extras                                         | 3.4 kB  00:00  

extras/primary_db                                      | 32 kB  00:00  

updates                                         | 3.4 kB  00:00  

updates/primary_db                                      | 1.9 MB  00:07  

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package cronie.x86_64 0:1.4.4-15.el6 will be installed

--> Processing Dependency: dailyjobs for package: cronie-1.4.4-15.el6.x86_64

--> Processing Dependency: /usr/sbin/sendmail for package: cronie-1.4.4-15.el6.x86_64

--> Running transaction check

---> Package cronie-anacron.x86_64 0:1.4.4-15.el6 will be installed

--> Processing Dependency: crontabs for package: cronie-anacron-1.4.4-15.el6.x86_64

---> Package sendmail.x86_64 0:8.14.4-9.el6 will be installed

--> Processing Dependency: procmail for package: sendmail-8.14.4-9.el6.x86_64

--> Running transaction check

---> Package crontabs.noarch 0:1.10-33.el6 will be installed

---> Package procmail.x86_64 0:3.22-25.1.el6_5.1 will be installed

--> Finished Dependency Resolution

Dependencies Resolved

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

 Package           Arch          Version            Repository        Size

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

Installing:

 cronie           x86_64         1.4.4-15.el6           base         74 k

Installing for dependencies:

 cronie-anacron         x86_64         1.4.4-15.el6           base         31 k

 crontabs           noarch         1.10-33.el6           base         10 k

 procmail           x86_64         3.22-25.1.el6_5.1          base         162 k

 sendmail           x86_64         8.14.4-9.el6           base         716 k

Transaction Summary

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

Install  5 Package(s)

Total download size: 994 k

Installed size: 2.1 M

Downloading Packages:

(1/5): cronie-1.4.4-15.el6.x86_64.rpm                                 | 74 kB  00:00  

(2/5): cronie-anacron-1.4.4-15.el6.x86_64.rpm                               | 31 kB  00:00  

(3/5): crontabs-1.10-33.el6.noarch.rpm                                 | 10 kB  00:00  

(4/5): procmail-3.22-25.1.el6_5.1.x86_64.rpm                               | 162 kB  00:00  

(5/5): sendmail-8.14.4-9.el6.x86_64.rpm                                 | 716 kB  00:00  

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

Total                                       1.3 MB/s | 994 kB  00:00  

Running rpm_check_debug

Running Transaction Test

Transaction Test Succeeded

Running Transaction

 Installing : procmail-3.22-25.1.el6_5.1.x86_64                                   1/5

 Installing : sendmail-8.14.4-9.el6.x86_64                                    2/5

 Installing : cronie-1.4.4-15.el6.x86_64                                     3/5

 Installing : crontabs-1.10-33.el6.noarch                                     4/5

 Installing : cronie-anacron-1.4.4-15.el6.x86_64                                   5/5

ERROR:dbus.proxies:Introspect error on :1.2513:/org/freedesktop/PackageKit: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

Unable to send message to PackageKit

 Verifying : crontabs-1.10-33.el6.noarch                                     1/5

 Verifying : cronie-anacron-1.4.4-15.el6.x86_64                                   2/5

 Verifying : sendmail-8.14.4-9.el6.x86_64                                    3/5

 Verifying : cronie-1.4.4-15.el6.x86_64                                     4/5

 Verifying : procmail-3.22-25.1.el6_5.1.x86_64                                   5/5

Installed:

 cronie.x86_64 0:1.4.4

15.el6              

Dependency Installed:

 cronie-anacron.x86_64 0:1.4.4-15.el6    crontabs.noarch 0:1.10-33.el6    procmail.x86_64 0:3.22-25.1.el6_5.1    sendmail.x86_64 0:8.14.4-9.el6    

Complete!


查看命令帮助

crontab 并不支持-h或–help之类的选项,不过还是可以通过它查看命令帮助


# crontab -h

crontab:无效选项 -- h

crontab: usage error: unrecognized option

usage: crontab [-u user] file

 crontab [-u user] [ -e | -l | -r ]

  (default operation is replace, per 1003.2)

 -e (edit user's crontab)

 -l (list user's crontab)

 -r (delete user's crontab)

 -i (prompt before deleting user's crontab)

 -s (selinux context)


也可以使用 info crontab 命令查看详细的帮助信息。

cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:

  crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数

  crontab -l //列出某个用户cron服务的详细内容

  crontab -r //删除没个用户的cron服务

  crontab -e //编辑某个用户的cron服务

  比如说root查看自己的cron设置:crontab -u root -l

  再例如,root想删除fred的cron设置:crontab -u fred -r

  在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e

  进入vi编辑模式,编辑的内容一定要符合下面的格式:/1 * * * ls >> /tmp/ls.txt

服务状态控制


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

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

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

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

/sbin/service crond status //查看状态

或者使用


# service crond start 

# service crond stop 

# service crond restart 

# service crond reload 

# service crond status


开机启动

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

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


/sbin/service crond start


现在Cron这个服务已经在进程里面了,我们就可以用这个服务了。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: