Reiniciando o cron após alterar o arquivo crontab?

433

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

bArmageddon
fonte
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
leonbloy
fonte
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

Sheldmandu
fonte
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 
Gyro
fonte
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.

Tit Petric
fonte
9

tente este para centos 7: service crond reload

Flair
fonte
6

Experimente: sudo cron reload Funciona para mim no ubuntu 12.10

jono
fonte
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.

ako
fonte
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

Mawty
fonte
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.

vebmaster
fonte
0

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

Aqua Huang
fonte