Instalei com sucesso o TeamCity ib CentOS 6.2 Minimal. Estou preso em tentar executar um script automaticamente na inicialização do sistema:
/opt/TeamCity/bin/teamcity-server.sh start
Pesquisei no Google e tentei vários métodos, todos os quais parecem falhar. A maioria dos métodos aponta para adicionar o script de inicialização a um dos arquivos rc.local:
/etc/rc.d/rc.local
/etc/rc.local
E o conteúdo de rc.local contém a linha:
/opt/TeamCity/bin/teamcity-server.sh start
Nenhum dos quais iniciará o servidor teamcity
Não há problemas se eu executar o script manualmente.
Parece simples, mas como faço para que um script de shell seja executado automaticamente?
centos6
shell-scripting
teamcity
atp03
fonte
fonte
Respostas:
Se o script de inicialização do teamcity for um script de inicialização compatível com LSB (ou seja, se fornecer iniciar , parar e outros argumentos ), você poderá simplesmente copiar o script para a
/etc/init.d
pasta e executar (como root):Um link simbólico para o arquivo também deve estar OK. Então tente (como root):
Se não iniciar na inicialização, mas iniciar manualmente sem problemas, verifique:
Para imprimir o conteúdo do seu PATH, basta executar:
Para verificar se o motivo para o script não iniciar é o PATH, tente:
Este comando limpará temporariamente seu PATH e executará o comando. Se o comando precisar de algumas informações específicas sobre o PATH, ele falhará (tenha o cuidado de executar exatamente como indicado acima, HÁ um espaço entre PATH = e o restante do comando).
fonte
no comando Fedora 17
diga: o serviço teamcity-server não suporta chkconfig, você deve adicionar um cabeçalho como:
somente depois disso execute o primeiro comando.
fonte
/etc/init.d/
:-)Quando o script é executado manualmente, ele funciona corretamente. Mas, quando executado automaticamente, não funciona.
Eu encontrei o culpado: o TeamCity é executado sob o usuário
teamcity
. Ele deve estar presente no/etc/sudoers
arquivo e você deve adicionar, usandovisudo
uma linha como esta:fonte