【问题标题】:Cron job with shell script使用 shell 脚本的 Cron 作业
【发布时间】:2016-11-07 10:26:51
【问题描述】:

我尝试每 2 分钟后使用 cronjob 运行一个 shell 脚本。我打开终端然后输入

crontab -e

一旦我执行了这个命令,我就在写我的命令

*/2 * * * * /home/test/test/test.sh

但我收到一个错误

E486:找不到模式:2 * * * *

请帮忙,因为我是新手,我不知道为什么会这样。 如果你给我任何关于 hwo 的链接和代码来执行 cronjob 会有所帮助。

【问题讨论】:

  • 检查stackoverflow.com/tags/crontab/info中的调试crontab
  • @fedorqui 我是否按照正确的程序运行 cronjob ?
  • 是的,你是。 crontab -e 然后保存。现在是检查可能导致错误的原因。可能使用完整路径并添加解释器将解决它 --> */2 * * * * /bin/bash /home/test/test.sh
  • @IndranilGanguly:一旦你运行crontab -e,你会在编辑器中打开一个文件吗?您需要在该文件中输入此*/2 * * * * /home/test/test.sh 并保存。从错误来看,您似乎在命令提示符下输入了上述行。
  • 这是因为你不在vi的写模式。为此,您首先必须输入i。写入该行,然后键入 Esc,然后键入 :wq 以存储文件。最好查看vi 手册,因为这是基本用法。否则,请设置另一个您觉得更舒服的编辑器。

标签: shell hadoop crontab


【解决方案1】:

如cmets中所说,报错如下:

E486:找不到模式:2 * * * *

是因为您没有正确编辑造成的。也就是说,您正确输入了crontab -e,然后您输入了vi。您可以直接键入*/2 * * * * /home/test/test/test.sh,而不是进入插入模式,vi 会尝试将其作为命令执行,但事实并非如此。

所以你要做的就是按i进入写入模式。然后,就在那时,写*/2 * * * * /home/test/test/test.sh。最后,通过 :wq 保存文件。

如果您的 cronjob 出现其他问题,您可能需要检查 https://stackoverflow.com/tags/crontab/info 中的“调试 crontab”部分。

【讨论】:

    【解决方案2】:

    我想更详细地展示它:

    1. crontab -e
    2. * * * * * cd path/to/your/project && command
    3. ESC
    4. :wq
    5. 回车

    请查看上面正确标记答案中的链接以了解有关 crontab 的更多信息。

    【讨论】:

    • 不错!我赞成你的解决方案。如果您觉得我的问题有用,请点赞。
    猜你喜欢
    • 1970-01-01
    • 2016-11-22
    • 1970-01-01
    • 2011-12-12
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    • 2021-11-16
    • 2020-03-06
    相关资源
    最近更新 更多