Como configurar um trabalho de cron para executar um executável a cada hora?
entrei como root e dactilografei crontab -e
0 * * * * /path_to_executable
No entanto, o trabalho de cron não funciona.
Vejo que, quando digito, tenho uma falha de segmentação.
Só posso executar o executável da pasta onde está localizado.
Há alguma maneira de resolver este problema?
7 answers
0 * * * * cd folder_containing_exe && ./exe_name
Deve funcionar a menos que haja algo mais que precisa ser configurado para o programa executar.
Também pode utilizar @hourly
instantâneo de 0 * * * *
Se estiver a usar o Ubuntu, pode colocar um script shell numa destas pastas: /etc/cron.daily
, /etc/cron.hourly
, /etc/cron.monthly
ou /etc/cron.weekly
.
Para mais detalhes, confira este post: https://askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job
Queria dizer que o executável não funciona , se for invocado em qualquer outro directório? Este é um bug no executável. Uma razão potencial poderia ser o executável requer alguns libraires compartilhados a partir da pasta instalada. Pode verificar a variável de ambienteLD_LIBRARY_PATH
Desde Que Eu não podia correr o C
executável {[6] } dessa forma, eu escrevi um simples {[2] } que faz o seguinte
cd /..path_to_shell_script
./c_executable_name
Na lista de trabalhos do cron, chamo-lhe shell script.
Utilizar
path_to_exe >> log_file
Para ver o resultado do seu comando também os erros podem ser redirecionados com
path_to_exe &> log_file
Também pode utilizar
crontab -l