Estou mantendo algumas máquinas do OS X 10.10 que requerem o cron para várias tarefas (processos de watchdog, limpadores / tmp, etc.). Um deles parou misteriosamente seu daemon de cron, e parece que não consigo trazê-lo de volta antes de manualmente executar o comando /usr/sbin/cron
como root.
Isso não é realmente sustentável; desconfiamos da estabilidade dessas máquinas o suficiente para agendarmos algumas reinicializações escalonadas no crontab, então alguém teria que ssh
in e reiniciar o cron toda vez que for reinicializado.
Eu tentei descarregar e recarregar o cronplit para launchd:
launchctl unload /System/Library/LaunchDaemons/com.vix.cron.plist
launchctl load /System/Library/LaunchDaemons/com.vix.cron.plist
Eu pensei que isso começaria, mas isso não aconteceu. Eu tentei então:
launchctl start /System/Library/LaunchDaemons/com.vix.cron.plist
Mas isso também não teve efeito. Ainda não há cron
na lista de processos, tarefas agendadas não estão sendo executadas e launchctl list
diz - 0 com.vix.cron
.
Mudar do cron para o puro launchd é uma maneira de contornar isso, mas seria necessário divergir ainda mais o nosso código linux e mac, e exigiria muitos testes e, francamente, muito mais familiaridade com o launchd.
Sendo relativamente novo no OSX, não tenho ideia de onde ir a partir daqui. Como posso fazer o cron rodar no OSX 10.10 e iniciar no boot?
Atualização:
/etc/crontab
existe como um arquivo vazio, mas todos os usuários têm seus respectivos crontabs em /usr/lib/cron/tabs
.
Um grep para o cron em /var/log/system.log
apresenta resultados que não sejam o sudo cat
invocado nos arquivos crontab.
Se eu executar este comando novamente:
launchctl load -w /System/Library/LaunchDaemons/com.vix.cron.plist
Eu recebo o erro Operation already in progress
.