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

概述

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

常见用途

定时关机
定时检查更新
定时对系统配置、数据库、日志进行备份
定时清理垃圾文件

检测是否已安装

 
 
  • 1
  • 2
  • 1
  • 2
# crontab -bash: crontab: command not found

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

开始安装

  
  
  • 1
  • 2
  • 3
  • 4
    • 1
    • 2
    • 3
    • 4
    # 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了。

      
      
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    # yum -y install vixie-cron Loaded plugins: fastestmirror,security Determining fastest mirrors * base: mirrors.btte.net * extras: mirrors.sina.cn * updates: mirrors.cn base | 3.7 kB 00:00 extras | 3.4 kB 00 extras/primary_db | 32 kB 00 updates | 00 updates/primary_db | 1.9 MB 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-15.el6.x86_64 --> Processing Dependency: /usr/sbin/sendmail for package: cronie-.x86_64 --> Running transaction check ---> Package cronie-anacron15.el6 will be installed --> Processing Dependency: crontabs for package: cronie-anacron-.x86_64 ---> Package sendmail8.149.el6 will be installed --> Processing Dependency: procmail for package: sendmail-9.el6.x86_64 --> Running transaction check ---> Package crontabs.noarch 1.10-33.el6 will be installed ---> Package procmail3.22-25.1.el6_5.1 will be installed --> Finished Dependency Resolution Dependencies Resolved =============================================================================================================================================================================================== Package Arch Version Repository Size =============================================================================================================================================================================================== Installing: cronie x86_64 15.el6 base 74 k Installing for dependencies: cronie-anacron x86_64 31 k crontabs noarch 33.el6 base 10 k procmail x86_64 .1 base 162 k sendmail x86_64 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-.x86_64.rpm | 74 kB 00 (2/5): cronie-anacron-.rpm | 31 kB 3/5): crontabs-33.el6.noarch.rpm | 10 kB 4/5): procmail-.1.rpm | 162 kB 5/5): sendmail-.rpm | 716 kB 00 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 1.3 MB/s | 994 kB 00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : procmail-.x86_64 5 Installing : sendmail-.x86_64 5 Installing : cronie-.x86_64 5 Installing : crontabs-.noarch 5 Installing : cronie-anacron-.x86_64 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-5 Verifying : cronie-anacron-5 Verifying : sendmail-5 Verifying : cronie-5 Verifying : procmail-5 Installed: cronie15.el6 Dependency Installed: cronie-anacron15.el6 crontabs33.el6 procmail.1 sendmail9.el6 Complete!

    查看命令帮助

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

      
      
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    # 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这个脚本的末尾加上:

      
      
  • 1
    • 1
    /sbin/service crond start

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

    相关文章

    Centos下搭建性能监控Spotlight
    CentOS 6.3下Strongswan搭建IPSec VPN
    在CentOS6.5上安装Skype与QQ
    阿里云基于centos6.5主机VPN配置
    CentOS 6.3下配置multipah
    CentOS安装、配置APR和tomcat-native