2015-10-19 1 views
0

J'ai deux scripts qui sont appelés depuis un formulaire avec l'action get. L'un d'entre eux fonctionne (en appelant messageserver.sh), l'autre non. Beaucoup de ces scripts sont situés dans/usr/bin, y compris celui qui ne semble pas être en cours d'exécution, restartark. Ils fonctionnent tous de PuTTY sans problème.Exécution de scripts via CGI

<form action="http://xxxxx.servegame.com/messageserver.sh" method="get"> 
Message to Send: <input type="text" name="message"></input><br> 
<input type="submit" name="subbtn" value="Submit"> 
</form> 


<p> 
<form action="http://xxxxx.servegame.com/restartserver.sh" method="get"> 
Restart Server with message: <input type="text" name="restartmessage"></input><br> 
<input type="submit" name="subbtn" value="Submit"> 
</form> 

restartserver.sh

#!/bin/bash 

echo "Content-type: text/html" 
echo "" 
echo "<title>Will take 10 minutes!!!</title>" 
MESSAGE=`echo "$QUERY_STRING" | sed -n 's/^.*restartmessage=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" 
MESSAGE=${MESSAGE//+/ } 
echo "Trying to restart server with message:<br>$MESSAGE<p>" 
restartark $MESSAGE 

echo "</body></html" 
exit 0 

restartark

#!/bin/bash 
cur_date=$(date +"%m.%d.%Y-%H.%M") 
echo "<p>Restart initialized! 10 minutes... at $cur_date <br>" >> /ark2/arkstatus.txt 
messageserver SERVER GOING DOWN IN 10 MINUTES [email protected] 
sleep 300 
echo "Restarting in 5 minutes<br" >> /ark/arkstatus.txt 
messageserver SERVER GOING DOWN FOR MAINTENANCE IN 5 MINUTES 
sleep 60 
messageserver SERVER GOING DOWN FOR MAINTENANCE IN 4 MINUTES 
sleep 60 
messageserver SERVER GOING DOWN FOR MAINTENANCE IN 3 MINUTES 
sleep 60 
echo "Restarting in 2 minutes<br>" >> /ark2/arkstatus.txt 
messageserver SERVER GOING DOWN FOR MAINTENANCE IN 2 MINUTES 
sleep 60 
messageserver SERVER GOING DOWN FOR MAINTENANCE IN 1 MINUTE 
sleep 60 
echo "Restarting in 30 seconds<br>" >> /ark2/arkstatus.txt 
messageserver SERVER GOING DOWN FOR MAINTENANCE IN 30 SECONDS 
sleep 30 
messageserver SERVER GOING DOWN FOR MAINTENANCE IN 15 SECONDS. LAST WARNING 
sleep 15 
cur_date=$(date +"%m.%d.%Y-%H.%M") 
echo "Saving world... at $cur_date <br>" >> /ark2/arkstatus.txt 
messageserver BRINGING SERVER DOWN NOW 
sleep 3 
killark 
updateark 
startark 
+0

Est-ce le nam e "restartark" ou "restartark.sh"? –

+0

Bonne prise. restartark – user1023102

+0

Je pense qu'il me manque un backtick sur la ligne 6 de restartserver.sh .... – user1023102

Répondre

0

manquant un backtick sur la ligne 6 de restartserver.sh

devrait commencer à faire tout mon codage en dehors de nano ..

+0

Utilisez '$ (...)' à la place des guillemets, toujours. –