最近在用PHP作一社区, 在写到计算最高上线人数时, 成功调试出把PHP作为shell script直接在服务器上运行.
在作社区时, 时常需要统计上线人数等数据. 一般做法是, 把这段代码放在用户login或者某一个页面中, 以便在用户登录或访问到该时,触发运行该代码. 这样一来, 会造成一个问题, 如果该代码教复杂, 明显减慢该页的正常调用速度.
利用PHP 的这种特性,加上linux的crontab指令,即可自动定时执行某一个php文件(统计在线人数等).
具体方法:
在安装PHP的时候,会产生一个可执行文件,文件名为php.将它它 copy 到 /usr/local/bin 下.
在终端方式执行php程序: php -q onlinnum.php<Enter>
注意到 PHP 原本是应用在网页应用的╋因此它内定会送出 HTML 的 HEADER╋但是在此我们是要将 PHP 用作 Shell Script╋"-q" 就是表示不要送出 HEADER 的意思.你可以试试看不加上 -q 的显示结果。
此时你已经可以在终端方式下执行PHP 代码了. 呵呵,可以试试执行你以前写的代码.
linux命令:cron daemon
这是一个系统中常驻的服务,功能在于执行例行性的工作,如每天一次或每月一次检查磁盘。cron daemon 会在每分钟检查一次排定的工作表(crontab),看看是否有要执行的指令,所有的输出会以mail寄给用户。
设置 crontab
命令:crontab -e<Enter>
该命令呼叫vi编辑器来编辑执行的清单。例如
0 0 1,15 * * fsck /home
1 * * * * /home/Gull/onlinnumber
每一行代表一项排定的工作,在指令前为排定的时间,总共有5个栏位,以空格间隔,由左到右依序如下:
栏位 说明
--------------------------
分钟 从00到99
点钟 从0到24
日 从01到31
月 从01到12
使用php作linux自动执行脚本(呵呵,超级好用的功能)
时间: 2024-11-02 14:36:17
使用php作linux自动执行脚本(呵呵,超级好用的功能)的相关文章
用php程序作为linux自动执行脚本
用PHP作一社区, 在写到计算最高上线人数时, 成功调试出把PHP作为 shell script直接在服务器上运行. 在作社区时, 时常需要统计上线人数等数据. 一般做法是, 把这段代码放在用户login或者某一个页面中, 以便在用户登录或访问到该时,触发运行该代码. 这样一来, 会造成一个问题, 如果该代码教复杂, 明显减慢该页的正常调用速度.利用PHP 的这种特性,加上Linux的crontab指令,即可自动定时执行某一个php文件(统计在线人数等). 具体方法: 在安装PHP的时候,会产生
在linux中执行脚本
Linux执行脚本号令时前面加[点][空格[点][斜杠](. ./) 进入/root/CiscoIOU目录下,然后执行 . ./start.sh 备注: 第一个[点][空格](. )默示把后面的执行结果(如景象变量设置)导入到当前文件. 第二个[点][斜杠](./),就是执行当前目录(在当前文件所设置的PWD中)里的文件. 一般执行均为./ 的形式
Linux/Unix shell 脚本跨服务器跨实例执行SQL
在DB运维的过程中,难免碰到需要跨多个服务器以及多个Oracle实例查询数据库的情形.比如我们需要查看当前所有生产环境数据库上open_cursor参数的值以便考虑是否需要增加.而需要查看的数据库服务器上有多个实例,同时又存在多个数据库服务器,这样子下来,几十个DB,上百个的情形一个个查,那得把人给累死.那就像点办法撒,写个shell脚本,轮巡所有服务器及服务器上的所有实例.见本文的描述. 关于shell脚本中如何调用SQL,可以参考下列链接: Linu
linux 自动定时备份文件夹及备份脚本实例
服务器:阿里云 需求:对www目录,每天凌晨1点执行备份,以当天日期命名文件夹 在 alidata 文件夹里建立 wwwbak 目录 和 bakwww.sh 文件,操作如下: 新建 wwwbak 文件夹,执行如下命令: # mkdir wwwbak# chmod -R 777 wwwbak 再新建 bakwww.sh 的文件,执行如下命令 # vi bakwww.sh 文件内容如下:cp -af /alidata/www/ /alidata/wwwbak/$(date -d "today&qu
C# SharpSSH 远程 Linux 执行脚本
问题描述 通过开源SharpSSH项目远程连接,Linux后执行脚本有个问题,声明的变量会不存在,每次执行的命令都是重新发送的有大神遇到吗 解决方案
如何在Linux启动时自动执行命令或脚本
我一直很好奇,在启动 Linux 系统并登录的过程中到底发生了什么事情.按下开机键或启动一个虚拟机,你就启动了一系列事件,之后会进入到一个功能完备的系统中,有时,这个过程不到一分钟.当你注销或者关机时,也是这样. 更有意思的是,在系统启动以及用户登录或注销时,还可以让系统执行特定的操作. 本文,我们将探讨一下在 Linux 操作系统中实现这些目标的传统方法. 注意:我们假定使用的是 Bash 作为登录及注销的主 Shell.如果你使用的是其他 Shell,那么有些方法可能会无效.如果有其他的疑问
如何在 Linux 启动时自动执行命令或脚本
在启动时执行 Linux 脚本 有两种传统的方法可以实现在启动时执行命令或脚本: 方法 #1 - 使用 cron 任务 除了常用格式(分 / 时 / 日 / 月 / 周)外,cron 调度器还支持 @reboot 指令.这个指令后面的参数是脚本(启动时要执行的那个脚本)的绝对路径. 然而,这种方法需要注意两点: a) cron 守护进程必须处于运行状态(通常情况下都会运行),同时 b) 脚本或 crontab 文件必须包含需要的环境变量(如果有的话,参考 StackOverflow 获取更多详细
linux下oracle自动备份脚本
linux下oracle自动备份脚本 vi /home/oracle/backup.sh //编写脚本 以下为脚本内容 time=` date +"%Y%m%d%H%M" ` //变量time 获取当前系统时间 su - oracle -c "exp hbskjt_0113/password owner=hbskjt_0113 file=/home/oracle/hbskjt_$time.dmp" //导库脚本 cd /home/oracle tar zcv
Linux日志自动备份脚本(日志截断、压缩)
只需要将日志文件移动到备份目录下 然后将日志压缩打包,并删除日志文件 最后重建日志文件 #!/bin/bash # nginx_app=/usr/local/nginx/sbin/nginx logs_dir=/usr/local/nginx/logs bak_dir=/tmp/logbak/ date=`date +%Y%m%d` # #先将日志文件移动到备份目录 cd $logs_dir echo "moving logs" mv *.log $bak_dir sleep 3 #