Não é possível reiniciar o serviço vsftpd através do cron

0

Em Ubuntu 14.04.5 LTS estou usando um script para reiniciar alguns serviços, quando o certificado TLS que está sendo usado é renovado. O script é executado através do crontab do root. Qualquer alteração é um certificado TLS que aciona os comandos para reiniciar os serviços e ativar o novo certificado.

Quando o comando service vsftpd restart é executado, o daemon do cron registra o seguinte erro: vsftpd: unrecognized service

Escusado será dizer que service vsftpd restart funciona como esperado quando executado na linha de comando do root.

Também notei que o vsftpd não aparece na lista de serviços ao executar service --status-all

Crontab para raiz

14 7 * * * /root/vesta-server-ssl-cert.sh

Pergunta : Qual é o comando correto a ser colocado dentro de um script para reiniciar o serviço vsftpd através do crontab do root?

    
por Binary Code 07.09.2017 / 08:06

1 resposta

0

Eu tive o mesmo problema com outros serviços há algum tempo; resolvi isso usando o initctl e não fui mais fundo para descobrir o que estava acontecendo. Então tente:

/sbin/initctl restart vsftpd

deve funcionar.

Oh, eu odeio essas respostas "isso funciona, não sei porque", mas é tudo o que eu tenho no momento.

Editar: Ok, agora me sinto melhor. service é um script de shell, e ele precisa ter o / sbin no ambiente PATH, caso contrário ele não conseguirá localizar e iniciar os binários para os quais ele faz o "restart". Em seguida, ele usa o script /etc/init.d/, que não pode ser encontrado, por isso ele informa "serviço não reconhecido"

TomTomTom

    
por TomTomTom 07.09.2017 / 08:29