Ícone do site SOLOWEB Tecnologia

Debugando comandos Shell com bash -x

No tutorial de hoje vamos ensinar como debugar um comando em shell(terminal linux) com o comando bash -x, para o exemplo vamos utilizar um caso real com o Zextras Carbonio com o zmconfig que não iniciava.

Busca por administrador de seu servidor Linux? Não perca mais tempo! Entre em contato conosco. https://soloweb.com.br/gerenciamento

O parâmetro -x faz o Bash mostrar cada comando que está sendo executado, já com variáveis expandidas, antes de rodar.

É ideal para:

Para usar basta utiliza-lo antes do comando como o exemplo abaixo:

$ bash -x script.sh

Problema real: zmconfigdctl não subia no Zimbra

Ao tentar iniciar o serviço:

$ zmconfigdctl start 
Starting zmconfigd...Failed to start zmconfigd.

Para debugar esse comando basta acessar o usuário zextras e depois executá-lo:

$ bash -x zmconfigdctl start

Quando o comando era debugado o monitor mostrava um certo comando que entrava em loop:

+ /usr/bin/nc -w 15 localhost 7171

Ao executar o comando em loop no terminal informava que o localhost não era localizado então bastava configurar o localhost no arquivo /etc/hosts, acesse o arquivo e configure a seguinte linha:

127.0.0.1 localhost

111.111.111.111 email.dominio.com.br email(exemplo de ip e dominio do servidor)

Com isso basta executar novamente o comando de iniciar o zmconfig e seu carbonio funcionará.

Busca por administrador de seu servidor Linux? Não perca mais tempo! Entre em contato conosco. https://soloweb.com.br/gerenciamento

Tudo isso foi descoberto graças ao debug de comandos shell.

Sair da versão mobile