<p>今天在测试机上配置crontab时发现它没有安装,所以赶紧安装一个.</p><p>CentOS 版本:5.7</p><p>操作步骤</p><p>1. 确认crontab是否安装:</p><p>执行 crontab 命令如果报 command not found,就表明没有安装</p><p>2. 安装 crontab</p><p>执行 yum install -y vixie-cron</p><p>3. 确认是否安装成功:</p><p>执行 crontab -e</p><p>4. 看是否设置了开机自动启动</p><pre class="brush:bash;toolbar:false">chkconfig--listcrond</pre><p>5. 启动crontab</p><pre class="brush:bash;toolbar:false">servicecrondstart</pre><p>详细记录</p><pre class="brush:bash;toolbar:false">[root@node16eap_designer]#crontab-e -bash:crontab:commandnotfound [root@node16eap_designer]#yuminstall-ycrontab Loadedplugins:fastestmirror Determiningfastestmirrors *base:centos.ustc.edu.cn *extras:centos.ustc.edu.cn *updates:centos.ustc.edu.cn base|1.1kB00:00 extras|2.1kB00:00 extras/primary_db|171kB00:00 updates|1.9kB00:00 updates/primary_db|464kB00:01 SettingupInstallProcess Nopackagecrontabavailable. Nothingtodo [root@node16eap_designer]#yuminstall-ycron Loadedplugins:fastestmirror Loadingmirrorspeedsfromcachedhostfile *base:centos.ustc.edu.cn *extras:centos.ustc.edu.cn *updates:centos.ustc.edu.cn SettingupInstallProcess Nopackagecronavailable. Nothingtodo [root@node16eap_designer]#yuminstall-ycrond Loadedplugins:fastestmirror Loadingmirrorspeedsfromcachedhostfile *base:centos.ustc.edu.cn *extras:centos.ustc.edu.cn *updates:centos.ustc.edu.cn SettingupInstallProcess Nopackagecrondavailable. Nothingtodo [root@node16eap_designer]#yuminstall-ycrontab Loadedplugins:fastestmirror Loadingmirrorspeedsfromcachedhostfile *base:centos.ustc.edu.cn *extras:centos.ustc.edu.cn *updates:centos.ustc.edu.cn SettingupInstallProcess Nopackagecrontabavailable. Nothingtodo [root@node16eap_designer]#yuminstall-ycrontabs Loadedplugins:fastestmirror Loadingmirrorspeedsfromcachedhostfile *base:centos.ustc.edu.cn *extras:centos.ustc.edu.cn *updates:centos.ustc.edu.cn SettingupInstallProcess Packagecrontabs-1.10-8.noarchalreadyinstalledandlatestversion Nothingtodo [root@node16eap_designer]#crontab -bash:crontab:commandnotfound [root@node16eap_designer]#cd [root@node16~]# [root@node16~]#</pre><p>查了一下资料,才知道它不叫cron,crond,crontab,crontabs,它叫vixie-cron</p><pre class="brush:bash;toolbar:false">[root@node16~]#yuminstall-yvixie-cron Loadedplugins:fastestmirror Loadingmirrorspeedsfromcachedhostfile *base:centos.ustc.edu.cn *extras:centos.ustc.edu.cn *updates:centos.ustc.edu.cn SettingupInstallProcess ResolvingDependencies --&gt;Runningtransactioncheck ---&gt;Packagevixie-cron.i3864:4.1-77.el5_4.1settobeupdated --&gt;FinishedDependencyResolution DependenciesResolved ==================================================================================================================================== PackageArchVersionRepositorySize ==================================================================================================================================== Installing: vixie-croni3864:4.1-77.el5_4.1base79k TransactionSummary ==================================================================================================================================== Install1Package(s) Upgrade0Package(s) Totaldownloadsize:79k DownloadingPackages: vixie-cron-4.1-77.el5_4.1.i386.rpm|79kB00:00 Runningrpm_check_debug RunningTransactionTest FinishedTransactionTest TransactionTestSucceeded RunningTransaction Installing:vixie-cron1/1 Installed: vixie-cron.i3864:4.1-77.el5_4.1 Complete!</pre><pre class="brush:bash;toolbar:false">[root@node16~]#crontab-l nocrontabforroot [root@node16~]# [root@node16~]#chkconfig--listcrontab 在crontab服务中读取信息时出错:没有那个文件或目录 [root@node16~]#chkconfig--listcron 在cron服务中读取信息时出错:没有那个文件或目录 [root@node16~]#chkconfig--list anacron0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭 avahi-daemon0:关闭1:关闭2:关闭3:启用4:启用5:启用6:关闭 avahi-dnsconfd0:关闭1:关闭2:关闭3:关闭4:关闭5:关闭6:关闭 crond0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭 gpm0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭 haldaemon0:关闭1:关闭2:关闭3:启用4:启用5:启用6:关闭 iscsi0:关闭1:关闭2:关闭3:启用4:启用5:启用6:关闭 iscsid0:关闭1:关闭2:关闭3:启用4:启用5:启用6:关闭 jexec0:启用1:启用2:启用3:启用4:启用5:启用6:启用 kudzu0:关闭1:关闭2:关闭3:启用4:启用5:启用6:关闭 lvm2-monitor0:关闭1:启用2:启用3:启用4:启用5:启用6:关闭 mcstrans0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭 messagebus0:关闭1:关闭2:关闭3:启用4:启用5:启用6:关闭 multipathd0:关闭1:关闭2:关闭3:关闭4:关闭5:关闭6:关闭 mysql0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭 netconsole0:关闭1:关闭2:关闭3:关闭4:关闭5:关闭6:关闭 netfs0:关闭1:关闭2:关闭3:启用4:启用5:启用6:关闭 netplugd0:关闭1:关闭2:关闭3:关闭4:关闭5:关闭6:关闭 network0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭 rawdevices0:关闭1:关闭2:关闭3:启用4:启用5:启用6:关闭 rdisc0:关闭1:关闭2:关闭3:关闭4:关闭5:关闭6:关闭 restorecond0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭 sshd0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭 syslog0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭 tcsd0:关闭1:关闭2:关闭3:关闭4:关闭5:关闭6:关闭 xfs0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭 [root@node16~]#chkconfig--listcrond crond0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭 [root@node16~]#servicecrond</pre><p>用法: /etc/init.d/crond {start|stop|status|reload|restart|condrestart}</p><pre class="brush:bash;toolbar:false">[root@node16~]#servicecrondstatus crond已停 [root@node16~]# [root@node16~]# [root@node16~]#servicecrondstart 启动crond:[确定] [root@node16~]#servicecrondstatus crond(pid16932)正在运行... [root@node16~]#</pre><p>完成了上面基础工作后,就来看看怎么使用crontab定时执行PHP脚本:</p><p>(1)我在/root下新建test.php文件,内容如下:</p><pre class="brush:php;toolbar:false">&lt;?php #!/usr/bin/php-q echodate(&#39;Y-m-dH:i:s&#39;).&quot;fromhttp://www.phpddt.com\n&quot;; ?&gt;</pre><p>说明:你可以用whereis php查找php执行文件位置。</p><p>在命令行输入php -q test.php 测试你写的PHP程序是否可以正常运行</p><p>(2)然后crontab -e编写如下shell:</p><pre class="brush:bash;toolbar:false">*****/usr/bin/php-f/root/test.php&gt;&gt;test.log</pre><p>说明:test.php必须为可执行文件:chmod +x test.php</p><p>测试结果很正常,截图如下:</p><p>当然你可以用使用crontab -e继续添加任务,在/var/spool/cron下你可以看到一个root文件。</p><p>可以看可以用tail -f /var/log/cron观察日志</p><p>也可用ps -aux | grep cron 查看所有的进程</p>
T:0.006138s,M:252.04 KB
返回顶部 留言