首页 > 解决方案 > 如何在crontab中传递日期参数

问题描述

我有以下脚本,它在日志文件名中创建具有当前日期的日志文件:

#script name: abc.sh
curr_date=`date '+%Y-%m-%d'`
/user/scripts/abc.sh > /user/logs/test_$curr_date.log

我尝试将 crontab 配置为abc.sh每天调用,如下所示:

16 14 * * * /user/scripts/abc.sh || mail -s "Errors" abcd@gmail.com < /user/logs/test_$curr_date.log

但是,crontab 无法执行上述作业,因为它不识别$curr_date

$curr_date使用 crontab 时如何将 传递给脚本?

标签: shellcron

解决方案


在 shell 中,这定义了一个 shell 实例本地的变量:

curr_date=`...`

如果您希望将其应用于子流程:

export curr_date=`...`

然后,它不仅显示为$curr_date,而且显示在它执行的任何程序的环境中。


推荐阅读