Reiniciando o cron após alterar o arquivo crontab?


433

Preciso reiniciar o cron depois de alterar o arquivo crontável?


8
Para não desconsiderar a resposta de @ leonbloy, mas descobri que a implementação do primeiro trabalho cron do meu linux (um trabalho corretamente formatado por minuto) não funcionou até que o sistema fosse reiniciado. sudo service cron restartnão foi testado.
Geotheory

1
@geotheory yikes Espero que não tenha que reiniciar meu servidor prod sempre que atualizar meu crontab (e não o faço).
jcollum

Respostas:


614

Não.

Na página do manual cron :

... o cron examinará o tempo de modificação em todos os crontabs e recarregará os que foram alterados. Portanto, o cron não precisa ser reiniciado sempre que um arquivo crontab for modificado

Mas se você quiser ter certeza de que está pronto,

sudo service cron reload

ou

/etc/init.d/cron reload

10
Se estiver usando a pasta cron.d, os crontabs com link simbólico não serão recarregados. Como posso forçar uma recarga?
precisa saber é o seguinte

13
Ah, é fácil assim. É agora sudo service cron restart.
precisa saber é o seguinte

21
Melhor opção é recarga - pode ser iniciada pelo usuário não-root:/etc/init.d/cron reload
Honza

8
@CMCDragonkai Possivelmente em crondvez de cron.
Cees Timmerman

33
O único problema com esta resposta é que nem sempre é verdade. Veja o comentário da geotoria abaixo da pergunta. Eu também fui mordido por isso. Fiz uma alteração no arquivo crontab via sudo crontab -e, salvei a alteração Ctrl + Xe fui embora assumindo cronque a buscaria (devido a essa resposta ter sido altamente votada). Dias depois, meu cliente relata que o cron ainda está sendo executado no ciclo antigo. Então, honestamente, se você quer estar seguro, basta reiniciar crono sistema ou não brincar com testes de tempo perdido, o que você terá que fazer, apesar desta resposta altamente votada.
Dan Nissenbaum 14/10

53

No CentOS com cPanel sudo /etc/init.d/crond reload, o truque.

No CentOS7: sudo systemctl start crond.service


3
Obrigado pela linha CentOs 7
Mathieu de Lorimier

1
//, Para recarregar crond, em vez de apenas iniciá-lo no sistema cada vez mais horrível, execute sudo systemctl reload crond.service.
Nathan Basanese

O @NathanBasanese Recarregar cronno SystemD agora é considerado magia negra: sudo systemctl reload crondfalha com Failed to reload cron.service: Job type reload is not applicable for unit cron.service.(Ubuntu 18.04). Leia: Atenção, todos nós somos atacados pela síndrome: "SystemD, só pode haver um". Se a recarga não for feita automagicamente nos bastidores, você estará perdido! Nem pense em consertá-lo, como você fez nas últimas 3 (ou mais) décadas! Leia: O mundo do Windows finalmente engoliu o Debian: Se houver algo estranho sob o capô, o que você fará? Reiniciar!
Tino

Reiniciar é mais do que apenas recarregar. Não existe uma opção de recarga limpa disponível para o Centos?
Egamega 18/04/19

@Tino você pode instalar cronie
Bob

27

Eu tive um problema semelhante no 16.04 VPS Digital Ocean. Se você estiver alterando os crontabs, certifique-se de executar

sudo service cron restart 

Funcionou para mim. Obrigado
Tien Nguyen

Eu vejo apenas reloadé suficiente. Não precisa restart. Obrigado. :)
Tien Nguyen

12

Dependendo da distribuição, o uso de "cron reload" pode não fazer nada. Para colar um trecho de init.d / cron (debian squeeze):

reload|force-reload) log_daemon_msg "Reloading configuration files for periodic command scheduler" "cron"
    # cron reloads automatically
    log_end_msg 0
    ;;

Alguns desenvolvedores / mantenedores confiaram no recarregamento, mas não o fazem e, neste caso, não há uma maneira de forçar o recarregamento. Estou gerando meus arquivos crontab como parte de uma implantação e, a menos que, de alguma forma, o tamanho do arquivo seja alterado, as alterações não serão recarregadas.


9

tente este para centos 7: service crond reload


6

Experimente: sudo cron reload Funciona para mim no ubuntu 12.10


Não funciona no meu Raspberry Pi 3+ com o Ubuntu 18.04.2 LTS
Jan

3

Tente isto service crond restart:, Portanto, crondnão é cron.


crondserviço não reconhecido. Funciona croncomigo. meu sistema operacional é o Ubuntu 18.04
Tien Nguyen

1

Há casos em que o cron precisa ser reiniciado para que o script de inicialização funcione. Não há nada errado em reiniciar o cron.

reinício cron do serviço sudo


0

1) Se o arquivo /var/spool/cron/crontabs/rooteditar via cliente SFTP - necessário service cron restart. Recarregar serviço não funciona.

2) Se editar o arquivo /var/spool/cron/crontabs/rootvia console linux (nano, mc) - NÃO é necessário reiniciar.

3) Se editar o cron via crontab -e- reinicie, NÃO precisa.


0

Ubuntu 18.04 * Uso: /etc/init.d/cron {start | stop | status | restart | reload | force-reload}

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.