【发布时间】:2020-01-16 22:17:22
【问题描述】:
我有一个 shell 脚本,可以在 AWS EMR 上设置我们的 crontab。
shell 脚本作为 EMR 步骤设置的一部分运行。
但是,当它执行时,它是直接评估日期,而不是我想要的文本,因为该 cronjob 将根据昨天的日期动态运行
我的脚本 crontab 部分
crontab -l && echo "0 20 * * * python app.py --date=$(date -d "yesterday" +\%Y-\%m-\%d) >> app.log 2>&1") | crontab -
在 emr 中手动粘贴它显示为原始的,这是我想要的,但现在我想自动化 cron 设置
EMR 步骤脚本执行此 shell 脚本并将环境变量评估为真实值,如下所示:
crontab -l && echo "0 20 * * * python app.py --date=2020-01-16 >> app.log 2>&1") | crontab -
这不是我想要的,因为现在我的 cron 只会在设定的日期内运行它。
我怎样才能使脚本的环境变量不被评估并保持原样?
【问题讨论】:
标签: python cron environment-variables amazon-emr