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

问题描述 投票:83回答:7

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

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

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

0 * * * *  /path_to_executable

但是,cron作业不起作用。

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

c linux gcc cron crontab
7个回答
142
投票
0 * * * * cd folder_containing_exe && ./exe_name

应该工作,除非有其他东西需要设置程序运行。


8
投票

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


4
投票

你也可以使用@hourly瞬间0 * * * *


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


2
投票

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


0
投票

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

cd /..path_to_shell_script
./c_executable_name

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


0
投票

使用

path_to_exe >> log_file

要查看命令的输出,还可以重定向错误

path_to_exe &> log_file

你也可以用

crontab -l

检查您的编辑是否已保存。

© www.soinside.com 2019 - 2024. All rights reserved.