今天在测试机上配置crontab时发现它没有安装,所以赶紧安装一个. CentOS 版本:5.7 操作步骤 1. 确认crontab是否安装: 执行 crontab 命令如果报 command not found,就表明没有安装 2. 安装 crontab 执行 yum install -y vixie-cron 3. 确认是否安装成功: 执行 crontab -e 4. 看是否设置了开机自动启动 chkconfig --list crond 5. 启动crontab service crond start 详细记录 [root@node16 eap_designer]# crontab -e -bash: crontab: command not found [root@node16 eap_designer]# yum install -y crontab Loaded plugins: fastestmirror Determining fastest mirrors * base: centos.ustc.edu.cn * extras: centos.ustc.edu.cn * updates: centos.ustc.edu.cn base | 1.1 kB 00:00 extras | 2.1 kB 00:00 extras/primary_db | 171 kB 00:00 updates | 1.9 kB 00:00 updates/primary_db | 464 kB 00:01 Setting up Install Process No package crontab available. Nothing to do [root@node16 eap_designer]# yum install -y cron Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.ustc.edu.cn * extras: centos.ustc.edu.cn * updates: centos.ustc.edu.cn Setting up Install Process No package cron available. Nothing to do [root@node16 eap_designer]# yum install -y crond Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.ustc.edu.cn * extras: centos.ustc.edu.cn * updates: centos.ustc.edu.cn Setting up Install Process No package crond available. Nothing to do [root@node16 eap_designer]# yum install -y crontab Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.ustc.edu.cn * extras: centos.ustc.edu.cn * updates: centos.ustc.edu.cn Setting up Install Process No package crontab available. Nothing to do [root@node16 eap_designer]# yum install -y crontabs Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.ustc.edu.cn * extras: centos.ustc.edu.cn * updates: centos.ustc.edu.cn Setting up Install Process Package crontabs-1.10-8.noarch already installed and latest version Nothing to do [root@node16 eap_designer]# crontab -bash: crontab: command not found [root@node16 eap_designer]# cd [root@node16 ~]# [root@node16 ~]# 查了一下资料,才知道它不叫cron,crond,crontab,crontabs,它叫vixie-cron [root@node16 ~]# yum install -y vixie-cron Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.ustc.edu.cn * extras: centos.ustc.edu.cn * updates: centos.ustc.edu.cn Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package vixie-cron.i386 4:4.1-77.el5_4.1 set to be updated --> Finished Dependency Resolution Dependencies Resolved ==================================================================================================================================== Package Arch Version Repository Size ==================================================================================================================================== Installing: vixie-cron i386 4:4.1-77.el5_4.1 base 79 k Transaction Summary ==================================================================================================================================== Install 1 Package(s) Upgrade 0 Package(s) Total download size: 79 k Downloading Packages: vixie-cron-4.1-77.el5_4.1.i386.rpm | 79 kB 00:00 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : vixie-cron 1/1 Installed: vixie-cron.i386 4:4.1-77.el5_4.1 Complete! [root@node16 ~]# crontab -l no crontab for root [root@node16 ~]# [root@node16 ~]# chkconfig --list crontab 在 crontab 服务中读取信息时出错:没有那个文件或目录 [root@node16 ~]# chkconfig --list cron 在 cron 服务中读取信息时出错:没有那个文件或目录 [root@node16 ~]# chkconfig --list anacron 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 avahi-daemon 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭 avahi-dnsconfd 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭 crond 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 gpm 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 haldaemon 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭 iscsi 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭 iscsid 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭 jexec 0:启用 1:启用 2:启用 3:启用 4:启用 5:启用 6:启用 kudzu 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭 lvm2-monitor 0:关闭 1:启用 2:启用 3:启用 4:启用 5:启用 6:关闭 mcstrans 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 messagebus 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭 multipathd 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭 mysql 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 netconsole 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭 netfs 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭 netplugd 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭 network 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 rawdevices 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭 rdisc 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭 restorecond 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 sshd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 syslog 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 tcsd 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭 xfs 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 [root@node16 ~]# chkconfig --list crond crond 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 [root@node16 ~]# service crond 用法: /etc/init.d/crond {start|stop|status|reload|restart|condrestart} [root@node16 ~]# service crond status crond 已停 [root@node16 ~]# [root@node16 ~]# [root@node16 ~]# service crond start 启动 crond: [确定] [root@node16 ~]# service crond status crond (pid 16932) 正在运行... [root@node16 ~]#
完成了上面基础工作后,就来看看怎么使用crontab定时执行PHP脚本:
(1)我在/root下新建test.php文件,内容如下:
说明:你可以用whereis php查找php执行文件位置。
在命令行输入php -q test.php 测试你写的PHP程序是否可以正常运行
(2)然后crontab -e编写如下shell:
说明:test.php必须为可执行文件:chmod +x test.php
测试结果很正常
当然你可以用使用crontab -e继续添加任务,在/var/spool/cron下你可以看到一个root文件。 可以看可以用tail -f /var/log/cron观察日志 也可用ps -aux | grep cron 查看所有的进程
(责任编辑:IT) |