cron 没有运行脚本

cron 没有运行脚本

我是 Linux 新手,所以对于可能有点愚蠢的问题,我深表歉意。问题是,我试图每小时 20 分钟自动执行一项作业。

1)我在脚本文件夹中创建一个 sh 文件:

#!/bin/sh cd /home/ubuntu/scripts/dm-customer && python3 ./md_executor.py

1.1 我将 sh 文件转换为可执行文件:

  • chmod 755 etl-execution.sh
  • chmod +x etl-execution.sh

2)现在我输入crontab -e并添加一行:

  • 55 * * * * ubuntu /home/ubuntu/scripts/dm-customer/etl-execution.sh

然后我的 cron 应该会自动触发,但什么也没有发生。我尝试:

  • 编辑我的crontab -e使用ubuntu用户而不是root但没有任何反应
  • 如果我在 ubuntu 会话中手动执行 sh,它会通过,我真的不明白。

我很感激任何反馈,这让我抓狂了。谢谢

答案1

55 * * * * ubuntu /home/ubuntu/scripts/dm-customer/etl-execution.sh

为什么那里有 Ubuntu?

格式如下man 5 crontab

   The format of a cron command is similar to the V7 standard, with a num-
   ber  of upward-compatible extensions.  Each line has five time-and-date
   fields followed by a username (if this is the system crontab file), and
   followed  by  a  command.   Commands  are  executed by cron(8) when the
   'minute', 'hour', and 'month of the  year'  fields  match  the  current
   time, and at least one of the two 'day' fields ('day of month', or 'day
   of week') match the current time (see "Note" below).

仅当它是系统 crontab 时才应包含用户名。如果您crontab -e以自己的用户身份运行,则应该不是被包括在内。

尝试

55 * * * * /home/ubuntu/scripts/dm-customer/etl-execution.sh

看看是否有效。

相关内容