当前位置:首页 » 编程软件 » linuxshellphp脚本

linuxshellphp脚本

发布时间: 2022-06-15 00:05:57

‘壹’ linux shell脚本编程什么意思

shell脚本编程,你可以想象成自动化处理,只要你将套路都设定好,他就会自动工作。
比如,你设定了
1、早上8点保存并分析昨天保存的系统有没有出错;
2、接着监测系统每隔一个时间段的CPU运行率,若连续几次都是98%~100%,就发信息到你手机上让你查看。

就这么简单···

‘贰’ 如何让php执行shell

php给我们提供了system(),exec(),passthru()这三个函数来调用外部的命令.
虽然这三个命令都能执行linux系统的shell命令,但是其实他们是有区别的:
system() 输出并返回最后一行shell结果。
exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。
相同点:都可以获得命令执行的状态码

例子:system("/usr/local/bin/webalizer/webalizer");

‘叁’ php和linux shell的关系

linux shell是跟系统打交道的最基本的界面。
shell 里面可以执行 php。php 程序也可以执行外部命令。

一般来说,系统可以没有 php,然不能没有 shell。

shell 可以单独做脚本程序。
php 也可以用来做脚本程序。

php 主要用来做 web 服务。
shell 主要用来跟 os 打交道。

‘肆’ linux 下写 shell kill掉运行时间超过5分钟的PHP进程

可以的,能根据Cpu累积耗时杀掉程序。
相关进程名字要知道哈。
假设以php进程为名字。
p_name=php
while true
do
sleep 3
#每3秒检查一次。
pro="$(ps -A|grep "$p_name"|head -n1)"
time="$(echo $pro|awk '{
split($3,tab,/:/); if (tab[2]+tab[1]*60>=5) {print 1}else{print 0}
}')"
#上面那句利用awk判断时间是不是大于5分钟。是则输出1,否则输出0.
pid="$(echo $pro|awk '{print $1}')"
#如果为1 就杀掉那个进程。
if [ $time = '1' ]
kill -9 $pid
fi
done

‘伍’ php如何执行shell脚本

我这边很少用PHP操作linux系统,因为默认是没有权限的,可是我不想去修改权限。
我变了个法子,用PHP操作指定文件,然后用定时任务运行shell脚本,获取指定文件里面的任务ID,执行对应的操作,然后能满足我的需求了。

‘陆’ 如何通过php页面执行shell脚本

exec里面,a.bash前面有sh这个bin文件么,就把bin文件路劲加在a.sh前。try下

‘柒’ 如何使用Linux的Crontab执行PHP脚本

Linux中crontab是实现定时执行的指令,利用这个指令我们就可以定时执行某一个php文件,从而实现用PHP做Linux自动执行脚本。
如何用PHP作Linux自动执行脚本?
在安装PHP的时候,会产生一个可执行文件,文件名为php.将它 到 /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编辑器来编辑执行的清单。例如
0 0 1,15 * * fsck /home
1 * * * * /home/myhome/printhello
每一行代表一项排定的工作,在指令前为排定的时间,总共有5个栏位,以空格间隔,由左到右依序如下:
--------------------------
分钟 从00到 99
点钟 从0到 24
日 从01到31
月 从01到12
星期 从01到07,代表星期一到星期日
*号表示"每" ,如每天执行,就在第三栏填*号
--------------------------
所以上例的两项工作是:
每月1号和15号检查/home 磁盘
每小时的第一分执行 /home/myhome/printhello 这个文件
查看crontab:crontab -l
删除crontab:crontab -r
我们就知道该怎么利用PHP和crontab命令作Linux自动执行脚本了。
还需要注意什么问题?
如果php中有使用数据库,如oracle等,执行脚本中还需export Oracle的环境设置。因为cron下的脚本执行的用户都是在没登陆状态下执行的,少了很多系统里设置的环境变量的值,在连接数据库的时候会出问题。

热点内容
百度云下载文件夹 发布:2025-05-18 03:17:33 浏览:674
php云开发 发布:2025-05-18 03:12:41 浏览:447
sql语句显示表 发布:2025-05-18 03:12:30 浏览:690
数据库系统的例子 发布:2025-05-18 03:02:42 浏览:191
数字化储存与编译是什么 发布:2025-05-18 02:56:55 浏览:217
个人网站模板源码 发布:2025-05-18 02:51:17 浏览:490
主服务器ip地址 发布:2025-05-18 02:46:29 浏览:856
电脑配置太低玩不了绝地求生怎么办 发布:2025-05-18 02:38:39 浏览:797
存储过程怎么出错了 发布:2025-05-18 02:37:16 浏览:368
32寸算法 发布:2025-05-18 02:22:14 浏览:744