一些 crontab 任务不起作用,不是全部

一些 crontab 任务不起作用,不是全部

我有一个需要每天运行的 Python 作业

它需要 start_date 和 end_date 参数,所以我使用 date 。

该命令一开始不起作用,但是在shell中执行时没有问题:

0 7 * * * /usr/bin/python3 /home/ubuntu/income_revenue.py $(date -d '-1 day' '+%Y-%m-%d') $(date -d '-1 day' '+%Y-%m-%d')

经过一番搜索,我发现我需要%在 crontab 中退出。新版本仍然没有触发

0 7 * * * /usr/bin/python3 /home/ubuntu/income_revenue.py $(date -d '-1 day' '+\%Y-\%m-\%d') $(date -d '-1 day' '+\%Y-\%m-\%d')

所以我创建了一个带有内容的 shell 脚本

/usr/bin/python3 /home/ubuntu/income_revenue.py $(date -d '-1 day' '+%Y-%m-%d') $(date -d '-1 day' '+%Y-%m-%d')

并在 crontab 中添加:

* * * * * /bin/sh /home/ubuntu/job.sh

仍然没有触发。虽然/bin/sh /home/ubuntu/job.sh在 shell 中可以工作。

我还进行了以下测试:

* * * * * /bin/echo $(date -d '-1 day' '+\%Y-\%m-\%d') >> /tmp/crontab.log

有效。

我不明白为什么!

相关内容