Eu tenho um script em /etc/cron.hourly :
-rwxr-xr-x 1 root root 85 Dec 6 19:05 /etc/cron.hourly/nvidia_to_exclusive
contendo (com uma linha vazia no final):
#!/bin/bash
/usr/bin/nvidia-smi -c 1 > /home/user/nvidia-smi_set_exclusive.log
O script não é executado pelo cron, mesmo que seja executado com run-parts /etc/cron.hourly
sucesso .
O que pode estar faltando?
O problema era que o serviço cron estava inativo.
Enquanto estou aqui, vou resumir todas as etapas que encontrei para fazer um script no
/etc/cron.hourly/
trabalho:run-parts
, ou seja, [a-zA-Z0-9_-].Portanto , não use extensão como
.sh
.Se não :
chmod +x /etc/cron.hourly/yourScript
#!/bin/bash
por exemplo).run-parts
:run-parts --test /etc/cron.hourly
→ seu script deve ser impresso.run-parts /etc/cron.hourly
→ seu script deve ser executado.Você pode verificar no final
/var/log/cron
se seu script foi concluído com sucesso.service crond status
.Se não:
service crond stop
entãoservice crond start
/var/log/cron
contém o erroBAD FILE MODE (/etc/cron.d/0hourly)
.Se for o caso, você provavelmente precisará executar
chmod 0644 /etc/cron.d/0hourly
(o cron não gosta que este arquivo seja executável)./etc/cron.d/0hourly
existe e contém a linha01 * * * * root run-parts /etc/cron.hourly