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

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

我以root身份login并键入crontab -e

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

 0 * * * * /path_to_executable 

但是,cron作业不起作用。

我看到,当我键入/...path_to_executable我得到一个分段错误。 我只能从它所在的文件夹执行可执行文件。有没有办法解决这个问题?

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

应该工作,除非有其他的东西需要安装程序来运行。

解决这个问题的正确方法是找出你为什么得到分段错误,并解决这个问题。

如果您使用的是Ubuntu,您可以将shell脚本放在以下文件夹之一中: /etc/cron.monthly/etc/cron.weekly

欲了解更多详情,请查看这篇文章: https : //askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job

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

 cd /..path_to_shell_script ./c_executable_name 

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

你是否意味着如果从其他目录中调用可执行文件,则可执行文件无法运行? 这是可执行文件上的一个错误。 一个潜在的原因可能是可执行文件需要安装文件夹中的一些共享库。 您可以检查环境variablesLD_LIBRARY_PATH

您也可以使用@hourly即时0 * * * *

使用

 path_to_exe >> log_file 

看到你的命令的输出也可以redirect错误

 path_to_exe &> log_file 

也可以使用

crontab -l

检查您的编辑是否保存