使用php作linux自动执行脚本

[来源] 达内    [编辑] 达内   [时间]2013-03-21

在作社区时, 时常需要统计上线人数等数据. 一般做法是, 把这段代码放在用户 login或者某一个页面中, 以便在用户登录或访问到该时,触发运行该代码. 这样 一来, 会造成一个问题, 如果该代码教复杂, 明显减慢该页的正常调用速度.

  最近在用PHP(PHP培训 php教程 )作一社区, 在写到计算最高上线人数时, 成功调试出把PHP作为 shell script直接在服务器上运行.

  在作社区时, 时常需要统计上线人数等数据. 一般做法是, 把这段代码放在用户 login或者某一个页面中, 以便在用户登录或访问到该时,触发运行该代码. 这样 一来, 会造成一个问题, 如果该代码教复杂, 明显减慢该页的正常调用速度.

  利用PHP 的这种特性,加上linux(linux教程 linux培训 )的crontab指令,即可自动定时执行某一个php文 件(统计在线人数等).

  具体方法:

  在安装PHP的时候,会产生一个可执行文件,文件名为php.将它它 copy 到 /usr/local/bin 下.

  在终端方式执行php程序: php -q onlinnum.php

  注意到 PHP 原本是应用在网页应用的﹐因此它内定会送出 HTML 的 HEADER﹐但 是在此我们是要将 PHP 用作 Shell Script﹐"-q" 就是表示不要送 出 HEADER 的意思.你可以试试看不加上 -q 的显示结果。

  此时你已经可以在终端方式下执行PHP 代码了. 呵呵,可以试试执行你以前写的 代码.

  linux命令:cron daemon

  这是一个系统中常驻的服务,功能在于执行例行性的工作,如每天一次或每月一 次检查磁盘。cron daemon 会在每分钟检查一次排定的工作表(crontab),看 看是否有要执行的指令,所有的输出会以mail寄给用户。

  设置 crontab

  命令:crontab -e

  该命令呼叫vi编辑器来编辑执行的清单。例如

  &nbs p; 0 0 1,15 * * fsck /home

  &nbs p; 1 * * * * /home/Gull/onlinnumber

  每一行代表一项排定的工作

使用php作linux自动执行脚本的更多相关文章

  1. Linux自动执行任务

    Linux自动执行任务 耗奇害死猫关注 2018.01.04 10:19:45字数 74阅读 142 单次执行用at和batch,周期性任务执行用crontab.任务执行结束后会将结果返回给发起人,通 ...

  2. Linux后台执行脚本 &与nohup

    Linux后台执行脚本的方式: 0.脚本代码 [root@VM_1_3_centos apps]# cat test.php <?php sleep(5); echo "hello w ...

  3. 在linux后台执行脚本

    1. 使用&符号在后台执行命令 你可以在Linux命令或者脚本后面增加&符号,从而使命令或脚本在后台执行,例如:. $ ./my-shell-script.sh & 2. 使用 ...

  4. centos上自动执行脚本执行php文件

    1 先编写执行PHP文件的脚本 vi php.sh #!/bin/sh /usr/bin/php /etc/1.php 2把php.sh添加到自动执行任务中 cd /etc/ vi crontab * ...

  5. crontab 自动执行脚本

    crontab -e ================>自动执行某脚本!!!!!!! 1001 ls 1002 cd /home/wwwroot/default/ 1003 ls 1004 cr ...

  6. Linux下执行脚本文件出现-bash: ./startup.sh: /bin/sh^M: 坏的解释器: 没有那个文件或目录

    原因:脚本文件是在Windows环境下编辑的,windows环境下,每一行的结尾是\n\r,而Linux环境下,每一行结尾是\n.使用cat  -A  filename 可以看到每行的结尾后面多出了一 ...

  7. Linux自启动执行脚本方法

    1. 在/etc/rc.d/init.d/下创建脚本,要遵守service script的标准: 例如: vi /etc/rc.d/init.d/gfs #!/bin/bash#case " ...

  8. Open SuSE 设置开关机时自动执行脚本

    在open SuSE中,有两个文件是用于存放开机自动执行命令的.这两个文件分别是: /etc/init.d/before.local /etc/init.d/after.local /etc/init ...

  9. windows 建立任务执行计划 自动执行脚本

    对于windows服务器网站如果要定时执行脚本,则需要在windows控制面板里找到 管理工具,点击任务计划程序,创建任务填写任务名称 触发器里新建触发条件,设置间隔时间 在操作项,新建触发时需要做的 ...

随机推荐

  1. 实例讲解虚拟机3种网络模式(桥接、nat、Host-only)

    转自:http://www.cnblogs.com/ggjucheng/archive/2012/08/19/2646007.html 前言 很多人安装虚拟机的时候,经常遇到不能上网的问题,而vmwa ...

  2. cocos2dx游戏开发——微信打飞机学习笔记(十一)——GameOverScene的搭建

    一.创建文件~ GameOverScene.h GameOverScene.cpp GameOverLayer.h GameOverLayer.cpp 二.How to do? 就是加入一个转场就好~ ...

  3. http://jingyan.baidu.com/article/db55b609aac41e4ba30a2f86.html

    http://jingyan.baidu.com/article/db55b609aac41e4ba30a2f86.html

  4. json学习系列(8)JSON与JAVA数据的相互转换实例

    一.完整案例 先定义一个java实体对象,如下: package com.pcitc.json.cnblog; /** * SimInfo实体对象 * * @Description * @author ...

  5. Java 时间架构图

    Java 的Calendar,Date,TimeZone,Locale和DateFormat的关系图如下: 说明: milliseconds表示毫秒. milliseconds = "实际时 ...

  6. 转:.NET获取当前方法名或调用此方法的方法名

    Introduction Before .NET, we were always looking for a way to log current method name in a log file ...

  7. POJ3764 The xor-longest Path(Trie树)

    题目给一棵有边权的树,问树上任意两点路径上的边异或值最多是多少. 记录每个点u到根路径的异或值xor[u],那么任意两点u.v路径的异或值就是xor[u]^xor[v]. 于是这个问题就变成了从n个数 ...

  8. 基于Extjs的web表单设计器 第五节——数据库设计

    这里列出表单设计器系列的内容,6.7.8节的内容应该在春节后才有时间出了.因为这周末就请假回老家了,准备我的结婚大事.在此提前祝大家春节快乐! 基于Extjs的web表单设计器 基于Extjs的web ...

  9. NOI2010 : 超级钢琴

    求出前缀和 对于每个结尾i,设现在取的区间是[j+1,i],则i-R<=j<=i-L,取出该区间sum[j]的最小值,将sum[i]-sum[j]放入堆中 建立一个大根堆,每次取出堆顶元素 ...

  10. BZOJ3672 : [Noi2014]购票

    设d[i]表示i到1的距离 f[i]=w[i]+min(f[j]+(d[i]-d[j])*v[i])=w[i]+d[i]*v[i]+min(-d[j]*v[i]+f[j]) 对这棵树进行点分治,每次递 ...