Мне нужно настроить задание cron, которое запускает исполняемый файл, скомпилированный с использованием gcc, один раз в час.
Я вошел в систему как root и набрал crontab -e
Затем я ввел следующее и сохранил файл.
0 * * * * /path_to_executable
Однако работа cron не работает.
Я вижу, что когда я печатаю, у /...path_to_executable
меня возникает ошибка сегментации. Я могу выполнить исполняемый файл только из папки, в которой он находится. Как я могу решить эту проблему?
Ответы:
0 * * * * cd folder_containing_exe && ./exe_name
должен работать, если нет чего-то еще, что нужно настроить для запуска программы.
источник
Решение этой проблемы - выяснить, почему вы получаете ошибку сегментации, и исправить ее.
источник
Вы также можете использовать
@hourly
момент0 * * * *
источник
@hourly
- точный синоним0 * * * *
, разницы нет.Вы имели в виду, что исполняемый файл не запускается при вызове из любого другого каталога? Это скорее ошибка исполняемого файла. Одна из возможных причин может заключаться в том, что исполняемый файл требует некоторых общих библиотек из установленной папки. Вы можете проверить переменную среды
LD_LIBRARY_PATH
источник
Если вы используете Ubuntu, вы можете поместить скрипт в одну из этих папок:
/etc/cron.daily
,/etc/cron.hourly
,/etc/cron.monthly
или/etc/cron.weekly
.Подробнее читайте в этом посте: /ubuntu/2368/how-do-i-set-up-a-cron-job
источник
Поскольку я не мог запустить
C
исполняемый файл таким образом, я написал простой,shell script
который выполняет следующиеВ списке заданий cron я вызываю сценарий оболочки.
источник
использовать
чтобы увидеть вывод вашей команды, также ошибки могут быть перенаправлены с помощью
также вы можете использовать
crontab -l
чтобы проверить, были ли сохранены ваши правки.
источник