作者测试了几天,发现网上的crontab使用方法都很矛盾,经过N+1次的测试,总算完成了执行自动任务的一部分(手动执行)
首先还是安装:
yum -y install vixie-cron;
yum -y install crontabs;
//安装好之后的开机启动,以后补上.
然后随便执行一个PHP文件
php -q /opt/lampp/htdocs/*.php
(如果提示:-bash: php: command not found
添加环境变量
export PATH=$PATH:/opt/lampp/bin
建议用该方法永久定义变量
vi /etc/profile
加入一行
export PATH=”$PATH:/opt/lampp/bin”
然后reboot重启.再执行任意PHP文件)
如果执行之后系统没任何提示,说明成功,接下来
chmod +x /opt/lampp/htdocs/*.php
给要执行的PHP增加权限.
然后创建定时任务:
启动linux定时服务:service crond start
查看当前定时任务: crontab -l
添加新定时任务:crontab -e
在打开的文件中编辑:
*/2 * * * * /opt/lampp/bin/php -f /opt/lampp/htdocs/*.php
表示每2分钟执行一次/opt/lampp/htdocs/*.php文件
(注: -f 很重要,不能修改成 -q )
部分需要当前目录的,用以下方法.
只有进入到那个目录下执行
*/2 * * * * cd /opt/lampp/htdocs&&/opt/lampp/bin/php /opt/lampp/htdocs/*.php
才能生效。
可能由于作者VPS使用快速搭配环境问题,导致crontab自动执行PHP有问题
暂时使用:
php -q /opt/lampp/htdocs/cron.php
才能执行问题慢慢研究吧
这段时间多研究Linux
关于作者