Eu tenho dois servidores no linode que têm alguns sites neles. Eu criei um script para ver se o mysql está rodando no servidor e se ele não estiver rodando, o script irá iniciar o mysql. O script está nos dois servidores e na mesma estrutura de arquivos.
Eu adicionei o script ao cron usando o comando "crontab -e" com os dois servidores. O problema é que o meu servidor dev irá executar o script enquanto o servidor prod permanecerá inativo. Eu adicionei espaços ao final do crontab, então eu sei que não é o problema.
Quando o script é executado manualmente no servidor prod, recebo este erro "(Nenhuma informação pode ser lida para" -p ": geteuid () = 1000, mas você deve ser root.)". Mesmo que o erro apareça, o script ainda reinicia o mysql, mas quando o script está sendo executado com o cron, o mysql não será reiniciado. Observe também que executei o script no servidor dev e consegui o mesmo erro. Mesmo que o erro esteja lá, o script será executado no dev e reiniciar o mysql quando executado através do cron.
Quando eu executo um comando sob sudo no servidor dev ele não pede o passe, mas quando eu o executo no servidor prod eu recebo uma senha.
Verifiquei o syslog para saber que o comando cron está sendo executado.
O script usa o comando netstat com os parâmetros -v -u -l -n -t -p.