开发者

How to set up a cron job to run an executable every hour?

开发者 https://www.devze.com 2023-01-11 22:20 出处:网络
I need to set up a cron job that runs an executable compiled using gcc once every hour. I logged in as root and typed crontab -e

I need to set up a cron job that runs an executable compiled using gcc once every hour.

I logged in as root and typed crontab -e

Then I enter开发者_运维百科ed the following and saved the file.

0 * * * *  /path_to_executable

However, the cron job does not work.

I see that when I type /...path_to_executable I get a segmentation fault. I can only execute the executable from the folder it is located in. Is there a way I can solve this problem?


0 * * * * cd folder_containing_exe && ./exe_name

should work unless there is something else that needs to be setup for the program to run.


The solution to solve this is to find out why you're getting the segmentation fault, and fix that.


You can also use @hourly instant of 0 * * * *


If you're using Ubuntu, you can put a shell script in one of these directories: /etc/cron.daily, /etc/cron.hourly, /etc/cron.monthly or /etc/cron.weekly.

For more detail, check out this post: https://askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job


Did you mean the executable fails to run , if invoked from any other directory? This is rather a bug on the executable. One potential reason could be the executable requires some shared libraires from the installed folder. You may check environment variable LD_LIBRARY_PATH


Since I could not run the C executable that way, I wrote a simple shell script that does the following

cd /..path_to_shell_script
./c_executable_name

In the cron jobs list, I call the shell script.


use

path_to_exe >> log_file

to see the output of your command also errors can be redirected with

path_to_exe &> log_file

also you can use

crontab -l

to check if your edits were saved.

0

精彩评论

暂无评论...
验证码 换一张
取 消