通过今天的日期作为cron工作的论据

时间:2016-02-02 10:00:42

标签: date cron report

我有一个cronjob,将在每月月底推出,以生成月度报告。

在这里,我找到了如何在每个月末启动工作:  Cron job to run on the last day of the month

现在,我只想将月份最后一天的日期作为脚本的参数。

例如:

compute_monthly_rate -e **2016.01.31**

如何将此日期作为参数传递?

2 个答案:

答案 0 :(得分:8)

cron的大多数实现都会将命令字符串传递给/bin/sh,因此根据您系统中的内容以及您拥有的date的实现情况,您可能会对此感到满意:

compute_monthly_rate -e $(date +%Y.%m.%d)

首先在终端尝试:

$ date +%Y.%m.%d
2016.02.02

答案 1 :(得分:1)

只是超越答案,

在大多数情况下,Cron作业会采用相对日期,例如最近15天的统计数据/日志重新索引等。

date命令可以用作

date -d '-15days' +'%Y-%m-%d'

-d, --date选项指定日期

+'%Y-%m-%d'是日期格式。

date命令接受多种格式说明符,请检查date --help以获取完整的命令参考。