如何设置一个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
检查您的编辑是否保存