首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >触发脚本和响应的简单服务器

触发脚本和响应的简单服务器
EN

Unix & Linux用户
提问于 2014-06-26 09:25:42
回答 3查看 5.8K关注 0票数 3

我需要运行一台服务器,该服务器可以:

  1. 打电话休息。它在调用时触发脚本。
  2. 脚本检查数据库是否正在运行。
  3. 如果正在运行,然后以Success的形式回复到客户端,否则回复为失败

我不希望使用apache或任何其他主要的web服务器。即使是在端口上运行的简单脚本也可以。我知道python -m SimpleHTTPServer,但我想它只提供文件访问。

我可以编写一个运行在端口上的简单Java程序并进行回复,但我正在寻找一些简单的解决方案

EN

回答 3

Unix & Linux用户

发布于 2014-06-26 12:45:41

我可以想象的一个更简单的服务是从xinetd运行一个服务。它的优点是xinetd本身重量相对较轻,但仍然可以为您处理所有网络内容,包括日志记录和安全限制,如请求限制、TCP包装等。

当xinetd尚未安装时,安装xinetd,并定义像/etc/xinetd.d/helloworld这样的自定义服务:

代码语言:javascript
复制
service helloworld
{
    disable         = no
    port            = 1234
    socket_type     = stream
    protocol        = tcp
    wait            = no
    user            = nobody
    server          = /usr/local/bin/hello-world.sh
    server_args     = test
    instances       = 1
    type            = unlisted
}

重新加载/重新启动xinetd,您可以使用telnet localhost 1234进行测试。

手册页面man xinetd.conf很好地描述了可用的选项。

票数 6
EN

Unix & Linux用户

发布于 2014-06-26 10:02:04

我会借助一些简单的nc命令在BASH中这样做:

代码语言:javascript
复制
#!/bin/bash

nc -k -l -p PORT > tempfile

while true
do
    if cat tempfile | grep request;
    then
        # Execute checker script
        # Reply back with nc
        : > tempfile # Clear tempfile
    fi
    sleep 1
done

这还需要使用nc设置客户端。也许在客户端上设置一个nc侦听命令也是接收成功回复的必要条件。

这个脚本还远远没有完成,您也应该为它编写客户机,但它可能会给您一些想法。

这里的基本内容是nc的使用。在它的帮助下,您可以建立简单的客户机-服务器架构。

票数 3
EN

Unix & Linux用户

发布于 2019-07-02 11:09:20

我在寻找类似的解决方案时遇到了这个问题:高露

它允许基于HTTP调用触发许多任务,包括shell。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/139311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档