运行bash脚本以响应HTTP POST

时间:2012-04-30 22:02:07

标签: php bash

我一直在使用以下PHP脚本在服务器上触发bash脚本:

<?php
$output = shell_exec('cat update.sh | ssh -l some_user -i key foo.bar.com');
echo "<pre>$output</pre>";
?>

由于我无法控制的问题,我们更改了服务器,而且我无法运行PHP(不要问)。我可以在这里使用另一种语言来完成这项任务吗?显然,我可以用HTTP POST定位的东西。感谢。

3 个答案:

答案 0 :(得分:2)

你可以去老式的cgi-bin并直接运行bash脚本:

#!/bin/bash
x=`cat update.sh | ssh -l some_user -i key foo.bar.com`
echo <<EOL
Content-type: text/html

<pre>$x</pre>
EOL

答案 1 :(得分:1)

您可以直接使用cgi运行bash脚本。

#!/bin/bash

OUTPUT=`cat update.sh | ssh -l some_user -i key foo.bar.com`

# You must add following two lines before
# outputting data to the web browser from shell
# script
echo "Content-type: text/html"
echo ""

echo "<html><head><title>Demo</title></head><body>"
echo "$OUTPUT <br>"
echo "</body></html>"

here

中的一些代码

答案 2 :(得分:0)

这取决于服务器配置。任务非常简单,因此您可以在提供商提供的每种(我猜)技术中执行此操作;)

如果您有权访问perl:

#!/usr/bin/env perl

++$|;
print '<pre>';
system ('your command 2>&1');
print '</pre>';

Python和许多其他类似的东西。