【问题标题】:How to set up a cron job to run an executable every hour?如何设置 cron 作业以每小时运行一次可执行文件?
【发布时间】:2011-03-29 07:20:36
【问题描述】:

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

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

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

0 * * * *  /path_to_executable

但是,cron 作业不起作用。

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

【问题讨论】:

  • 这是一个糟糕的标题。您知道如何设置 cron 作业;您想知道的是如何使命令起作用。
  • 属于 superuser.com(与编程没有直接关系)
  • 错误的标题,但这就是我找到解决方案的方式。
  • 您的可执行文件可能已启动。我建议在其中使用syslog(3)(至少在启动时制作一条日志消息,以确保它已启动)。

标签: c linux gcc cron crontab


【解决方案1】:
0 * * * * cd folder_containing_exe && ./exe_name

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

【讨论】:

  • 使用 && 代替 ;,否则可能会发生有趣的事情(尤其是与 rm 一起使用时)
  • 你是对的。如果 cd 目标有可能不存在(例如,如果目录位于 NFS 服务器上碰巧已关闭),则 && 会更好。
  • 拯救我的一天!谢谢!
  • 请注意,您还需要一个绝对路径(即从根目录)afaik
【解决方案2】:

解决此问题的解决方案是找出您遇到分段错误的原因,然后修复它。

【讨论】:

    【解决方案3】:

    您也可以使用@hourly 瞬间的0 * * * *

    【讨论】:

    • 对这个解决方案感到好奇,@hourly 表示它运行在什么分钟为 0?
    • @ojblass @hourly0 * * * * 的同义词,没有区别。
    【解决方案4】:

    如果您使用的是 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

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        【解决方案6】:

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

        cd /..path_to_shell_script
        ./c_executable_name
        

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

        【讨论】:

          【解决方案7】:

          使用

          path_to_exe >> log_file
          

          查看命令的输出 也可以用

          重定向错误
          path_to_exe &> log_file
          

          你也可以使用

          crontab -l

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

          【讨论】:

          • crontab -l 在我以 root 身份登录时显示 cron 作业。我试过 log_file 但它是空的。
          猜你喜欢
          • 1970-01-01
          • 2011-09-19
          • 1970-01-01
          • 2015-07-15
          • 2014-04-25
          • 2018-10-17
          • 2018-02-18
          • 2017-05-26
          • 2021-10-23
          相关资源
          最近更新 更多