如何设置一个cron作业来每小时运行一个可执行文件?

时间:2010-08-13 06:02:15

标签: c linux gcc cron crontab

我需要设置一个cron作业,每小时运行一次使用gcc编译的可执行文件。

我以root身份登录并输入crontab -e

然后我输入以下内容并保存文件。

0 * * * *  /path_to_executable

但是,cron作业不起作用。

我看到当我输入/...path_to_executable时出现分段错误。 我只能从它所在的文件夹中执行可执行文件。 有没有办法可以解决这个问题?

7 个答案:

答案 0 :(得分:139)

0 * * * * cd folder_containing_exe && ./exe_name
除非需要为程序运行设置其他内容,否则

应该有效。

答案 1 :(得分:7)

解决这个问题的方法是找出你为什么会遇到分段错误并解决这个问题。

答案 2 :(得分:4)

您还可以使用@hourly

0 * * * *瞬间

答案 3 :(得分:3)

如果您使用的是Ubuntu,则可以在其中一个文件夹中添加shell脚本:/etc/cron.daily/etc/cron.hourly/etc/cron.monthly/etc/cron.weekly

有关详细信息,请查看此帖子:https://askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job

答案 4 :(得分:2)

您是否表示如果从任何其他目录调用可执行文件无法运行?这是可执行文件的一个错误。一个可能的原因可能是可执行文件需要安装文件夹中的一些共享库。您可以检查环境变量LD_LIBRARY_PATH

答案 5 :(得分:1)

由于我无法以这种方式运行 C可执行文件,因此我编写了一个简单的shell script来执行以下操作

cd /..path_to_shell_script
./c_executable_name

在cron作业列表中,我调用了shell脚本。

答案 6 :(得分:0)

使用

path_to_exe >> log_file

查看命令的输出 还可以使用

重定向错误
path_to_exe &> log_file

你也可以使用

crontab -l

检查您的修改是否已保存。