我需要设置一个cron作业,每小时运行一次使用gcc编译的可执行文件 .
我以root身份登录并输入了 crontab -e
crontab -e
然后我输入以下内容并保存文件 .
0 * * * * /path_to_executable
但是,cron作业不起作用 .
我看到当我输入 /...path_to_executable 时出现分段错误 . 我只能从它所在的文件夹中执行可执行文件 . 有没有办法可以解决这个问题?
/...path_to_executable
由于我无法以这种方式运行 C executable ,我写了一个简单的 shell script ,它执行以下操作
shell script
cd /..path_to_shell_script ./c_executable_name
在cron作业列表中,我调用了shell脚本 .
使用
path_to_exe >> log_file
要查看命令的输出,还可以重定向错误
path_to_exe &> log_file
你也可以用
crontab -l
检查您的编辑是否已保存 .
解决这个问题的解决方案是找出你为什么会遇到分段错误并解决它 .
你也可以使用 @hourly 瞬间 0 * * * *
@hourly
0 * * * *
如果您使用的是Ubuntu,则可以将shell脚本放在以下文件夹中: /etc/cron.daily , /etc/cron.hourly , /etc/cron.monthly 或 /etc/cron.weekly .
/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
您是不是意味着可执行文件无法运行,如果从任何其他目录调用?这是可执行文件的一个错误 . 一个可能的原因可能是可执行文件需要安装文件夹中的一些共享库 . 你可以查看环境变量 LD_LIBRARY_PATH
LD_LIBRARY_PATH
0 * * * * cd folder_containing_exe && ./exe_name
应该工作,除非有其他东西需要设置程序运行 .
7 回答
由于我无法以这种方式运行 C executable ,我写了一个简单的
shell script
,它执行以下操作在cron作业列表中,我调用了shell脚本 .
使用
要查看命令的输出,还可以重定向错误
你也可以用
crontab -l
检查您的编辑是否已保存 .
解决这个问题的解决方案是找出你为什么会遇到分段错误并解决它 .
你也可以使用
@hourly
瞬间0 * * * *
如果您使用的是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
您是不是意味着可执行文件无法运行,如果从任何其他目录调用?这是可执行文件的一个错误 . 一个可能的原因可能是可执行文件需要安装文件夹中的一些共享库 . 你可以查看环境变量
LD_LIBRARY_PATH
应该工作,除非有其他东西需要设置程序运行 .