找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1827|回复: 0
打印 上一主题 下一主题

PHP监控linux服务器负载

[复制链接]

2500

主题

2513

帖子

7520

积分

论坛元老

Rank: 8Rank: 8

积分
7520
跳转到指定楼层
楼主
发表于 2018-2-18 04:49:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                      由于Web Server以及PHP的实现方式所限,我们在现实环境中很难利用PHP去调用一些Linux中需要root权限才能执行的程序,对此,我从网上找到另外一种方式来绕开这个限制。首先先写个c程序中转调用系统命令,然后用PHP去执行此c程序。
    c程序
    首先写个c文件,比如/usr/local/ismole/w.c
//note 由于wordpress编辑器的原因,请将此代码中头文件多余的空格去除
#include
#include
#include
#include
int main()
{
    uid_t uid ,euid;
    //note 获得当前的uid
    uid = getuid();
    //note 获得当前euid
    euid = geteuid();
    //note 交换这两个id
    if(setreuid(euid, uid))
        perror("setreuid");
    //note 执行将要执行linux系统命令
    system("/usr/bin/w");
    return 0;
}  
    编译该文件gcc -o ipt -Wall w.c,这时会在当前目录下生成程序w。
    改变此程序的属主chmod u+s ./w。
    PHP执行
    文件内容如下,放在web目录下,访问就会输出当前的服务器负载情况。
    按照上面的实例,我们可以用PHP来做任何我们想执行的Linux系统命令,SVN更新,服务器监控,备份,恢复,日常维护等等。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

用户反馈
客户端