Existe uma maneira de tornar a saída do script bash visível no navegador?

3

Eu fiz um script para svn update para programadores. O script funciona bem do bash. Os programadores querem executá-lo a partir do navegador (através do site do administrador).

O script é muito simples (seu único exemplo não é exatamente o mesmo)


#!/bin/bash
echo "Start update..."

cd /dir/with/site

/usr/bin/svn update
echo "Update ended."

 

No script do navegador bash é iniciado através do arquivo php algo como:


echo system('/updatesvnscript.sh');

Após executá-lo no bash eu posso ver todas as saídas do echos e da aplicação svn, o script está funcionando bem no bash.

Iniciar o script no navegador via php me dá apenas a saída de ecos, como Start update... Update ended. , mas nenhuma saída do svn. O problema é que o script também não atualiza meu site quando eu faço atualização via navegador, então eu preciso encontrar onde está o problema.

Então eu quero ver a saída do svn no navegador para ver se algo com o svn via navegador não está funcionando.

O script Bash possui direitos adequados para executá-lo por meio do navegador e tem o direito de modificar (atualizar) o arquivo no diretório do site.

    
por B14D3 08.06.2012 / 13:27

2 respostas

4

Mude para o ID do usuário sob o qual o seu servidor web / php é executado, e execute manualmente,

cd /dir/with/site
/usr/bin/svn update

e veja o que você recebe.

Ou, altere

/usr/bin/svn update

para

/usr/bin/svn update 2>&1

que redirecionará as mensagens de erro para o stdout, que deverá aparecer na sua página da web para ajudar no diagnóstico.

    
por 08.06.2012 / 13:33
1

O Subversion usa stderr para distribuir a saída para o usuário, então eu devo imaginar que isso irá consertar:

echo system('/updatesvnscript.sh 2>&1');

    
por 08.06.2012 / 13:37

Tags