2011-11-16 5 views
1

Dans un programme d'application Web Rails, je dois exécuter un script bash (sur le système d'exploitation Linux) dans l'environnement Rails, mais je ne sais pas comment connecter mon script aux Rails pour que Rails lise & script puis envoyer la sortie du script à Rails afin que répondre à mes besoins.Comment lancer un script Bash via Rails3?

Par exemple, j'ai un serveur avec ip: 1.1.1.1, et d'écrire le script dans le chemin: /usr/local/scripts/hello.sh, mais chaque fois que j'exécuter le script hello.sh sur ce serveur, il imprime " hello world" dans la sortie, mais mon Rails applicaton fonctionne sur le serveur avec ip: 1.1.1.2. Maintenant, je dois exécuter hello.sh via l'application Web Rails sur le serveur 1.1.1.2 pour m'envoyer sur la page Web la sortie: "hello world". c'est un exemple simple pour dire ce dont j'ai besoin.

MyScript: par exemple

#!/bin/bash 
echo "hello world" 

OS = LINUX

EDIT

décrire la manière simple:

  • J'ai 2 serveurs IP du serveur A : 1.1.1.1 ip du serveur B: 1.1.1.2
  • J'ai un script dans (serveur A). Chemin du script: /usr/local/script/hello.sh
  • Le contenu de hello.sh est: #!/bin/bash echo "hello world"

Je vais appeler hello.sh (situé sur le serveur A) en utilisant l'application de rails3 (en cours d'exécution sur le serveur B). Afin d'afficher le résultat de hello.sh (bonjour monde) sur la page Web sur le serveur B.

+0

Juste pour clarifier 'hello.sh' est stocké sur le serveur A doit être exécutée à l'intérieur application Rails sur le droit serveur B? – Bohdan

Répondre

2

system commande?

par exemple:

system('sh http://1.1.1.1/yourscript.sh')

pour obtenir le look de sortie ici: Getting output of system() calls in Ruby

+0

Merci beaucoup pour votre réponse, je suis vraiment besoin, mais quelles sections de rails doivent être écrire cette commande? Quel dossier ou chemin? –

+0

comment envoyer le résultat de hello.sh au serveur qui exécute des rails afin d'afficher "bonjour monde" dans la page Web –

+0

l'appeler dans le contrôleur quand il est nécessaire –

Questions connexes