我有一个cronjob,将在每月月底推出,以生成月度报告。
在这里,我找到了如何在每个月末启动工作: Cron job to run on the last day of the month
现在,我只想将月份最后一天的日期作为脚本的参数。
例如:
compute_monthly_rate -e **2016.01.31**
如何将此日期作为参数传递?
答案 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
以获取完整的命令参考。