linux php任务计划,Linux--PHP脚本的计划任务
crontab -e
输入:
*/6 * * * * wget http://xxxxxxx/bjair/getRemoteData.php
保存退出
重启crond服务:
service crond restart
另外,要将要执行的代码的用户组和用户都改成:wwww
此处为:
chgrp -R www bjair
chown -R www bjair
这样的话,权限就得设定一下了,以免别人瞎弄:
chmod -R 775 bjair
这里设定的是 6 分钟执行一次。
具体其它时间的组合这里不列出了。
而且这种方法是用 wget 去访问脚本,不是用 php 来执行。算是一种较笨的办法吧。不过功能上倒是实现了。
默认情况下上面的代码是以 root 身份执行的。但实际上,上面的代码我们更希望它以 www
身份运行。所以我们上面的代码要改成:
crontab -u www -e;
然后再继续。
要看某用户有多个个计划任务:
crontab -u www -l
另一种用让PHP以脚本方式运行:
按正常的方式写PHP,然后在第一行前加一行"#!/usr/local/bin/php
-q" 这里要指向本机PHP的安装目录,如果不知道。可以通过:find / -type f -name 'php'
来查找。
#!/usr/local/bin/php -q$file='/htdocs/www/b100/egspace/Bin/test/'.date('H').'-'.date('i').'-'.date('s').'.txt';file_put_contents($file,date('Y-m-d'));?>
把PHP文件属性改为shell文件。
chmod +x test.php
或:chmod 755 test.php
再编辑crontab
crontab -e
或:crontag -u www -e
加上一行
*/1 * * * * /htdocs/www/b100/egspace/Bin/test.php
实验证明,如果在文件最前面不加那一句话:#!/...
-q 也是可以的.不过,在计划任务中得如下写:
*/1 * * * * /usr/bin/php
/htdocs/www/b100/egspace/Bin/test.php
通常会碰到的问题有:
1.没有执行的权限。通过 chmod 改变文件的权限,或对文件所属用户进行计划任务的设置。
2.文件没有执行权限。通过 chmod +x filename 为文件加上执行权限。
3.如果要在文件中对其他文件进行写,删除等操作,要将目标文件的权限进行相应的设置。
4.环境变量的问题。最隐藏的问题。用crontab来执行php,是不走apache,nginx,所以$_SERVER,$_ENV这类变量根本用不了。所以检查一下php代码中有没有这类变量,如果有,拿掉。
5.php的相对路径问题.如:
include_once'./mysql.php';
当php代码中,用的是相对路径时,只有进入到那个目录下执行/usr/local/php/bin/php
/var/www/cron/level_rank.php才能生效。解决方法如下:
*/10 * * * * cd /var/www/cron
&& /usr/local/php/bin/php
/var/www/cron/level_rank.php
或者在php代码中用绝对路径.
附:
可以查看 crond
的日志文件来了解失败的原因,默认情况下日志文件是:/var/logs/crond
也可以为某个计划任务指定日志输入文件。例如:
*/10 * * * * /usr/local/php/bin/php
/var/www/cron/del_redis.php >>
/home/wwwlogs/del.log
linux php任务计划,Linux--PHP脚本的计划任务相关推荐
- linux任务计划单独脚本能执行,linux中计划任务执行脚本
我使用的是ubuntu14.4,所以在ubuntu中一切正常,在其他linux系统中应该都差不多. 1 计划任务,crontab命令选项: -u指定一个用户, -l列出某个用户的任务计划, -r删除某 ...
- 视频教程-Kali Linux渗透测试全程课与脚本语言编程系列课程-渗透测试
Kali Linux渗透测试全程课与脚本语言编程系列课程 本人有多年的服务器高级运维与开发经验,擅长计算机与服务器攻防及网络攻防技术!对网络安全领域有持续的关注和研究! 林晓炜 ¥899.00 立即订 ...
- 服务器状态监控php源码,服务器状态监控_监控Linux服务器网站状态的SHELL脚本
摘要 腾兴网为您分享:监控Linux服务器网站状态的SHELL脚本,蜗牛集市,同花顺,探客宝,手柄助手等软件知识,以及日期倒计时插件,云南省教育资源公共,rui手机桌面,小屁孩桌面便签,合金装备崛起复 ...
- 小豪学Linux——vim文本编辑器与shell脚本
4.Vim编辑器与Shell命令脚本 4.1.Vim文本编辑器 Vim编辑器的三种模式及切换方法 命令模式:控制光标移动,可对文本进行复制.粘贴.删除和查找等 输入模式:正常文本录入 保存或退出我能当 ...
- Linux系列教程——1 Linux磁盘管理、2 Linux进程管理、3 Linux系统服务、 4 Linux计划任务
文章目录 1 Linux磁盘管理 1.磁盘的基本概念 1.什么是磁盘 2.磁盘的基本结构 3.磁盘的预备知识 1.磁盘的接口类型 2.磁盘的基本术语 3.磁盘在系统上的命名方式 4.磁盘基本分区Fdi ...
- 【linux】循序渐进学运维-基础篇-crontab计划任务
大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-基础篇的第58篇文章. 文章目录 前言: crontab定时任务的作用 crontab的参数 crontab 使用举例 1. 每天21:30备 ...
- Linux学习之一键建站脚本
本文转自lnmp.lamp.lnmpa一键安装包和LAMP一键安装脚本使用说明 这个脚本是使用shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa(Linux.Nginx/Tengi ...
- linux打包日志时间,打包压缩_任务计划_日志
tar命令 功能:文件的打包.解包,并且可以实现压缩功能. 打包压缩语法:tar -czvf 文件名.tar.gz 要打包的文件列表 解包解压缩语法:tar -xvf 文件名.tar. ...
- linux脚本执行过程中被挂起,Linux学习笔记(八)——脚本执行的过程控制
一.脚本执行过程中的控制 之前的内容中,运行编写好的脚本时都是在命令行上直接确定运行的,并且运行的脚本是实时的,这并不是脚本唯一的运行方式,下面的内容是脚本的其他运行方式.例如在Linux系统中如何控 ...
- linux cron crond 区别,linux crond计划任务详解
1.循环执行的计划任务 linux下面有atd和crond两种计划任务,其中,atd服务使用的at命令只能执行一次,而crond服务使用的crontab定义的命令,是循环作用的,所以crond才符合我 ...
最新文章
- 虚拟化入门:用虚拟机安装RHEL 5(下)
- ::selection
- Android下常见的内存泄露 经典
- LeetCode 1503. 所有蚂蚁掉下来前的最后一刻(脑筋急转弯)
- fanuc机器人编程手册_是谁需要G代码编程机器人?
- java怎么让1的数据2可以拥有,【如何让代码变“高级”(二)】-这样操作值得一波666(Java Stream)(这么有趣)...
- Net开发的部分知名网站案例
- python网络-多进程(21)
- AI 算法起家的今日头条为何败给了色情?
- 动态生成节点与删除节点
- “我来管管看”系列:如何消除报工数据与入库数据的差异?
- hdu 5053 水
- iphone和android照片传输,iphone和安卓手机之间如何传文件图文教程
- LSD(线段检测测试文件)
- 彩色图像转灰度图像原理python
- xml使用非常简单,只需要如下
- 开源爬虫神器,Playwright vs Puppeteer 对比,你应该选择哪个?
- 国内外6款优秀的免费CDN服务
- Python 300例——006-010
- 公司常用云服务器详解:企业2核4G、4核8G、8核16G配置介绍