[英]Run bash script in response to HTTP POST
我一直在使用以下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進行定位。 謝謝。
您可以使用老式的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
您可以直接使用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>"
這里的一些代碼
這取決於服務器配置。 任務非常簡單,因此您可以使用提供商提供的每種(我猜)技術來完成;)
如果您有權訪問perl:
#!/usr/bin/env perl
++$|;
print '<pre>';
system ('your command 2>&1');
print '</pre>';
Python和許多其他相似。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.