最近在工作中希望将一些任务定时执行,输出日志。因为任务是按天单独执行,所以希望日志输出的文件名也能带上日期。于是写了下面这个命令:
0 12 * * * cd /data && sh aaa.sh >> aaa_$(date -d "-1 day" "+%Y%m%d").log
按理说上述输出的日志文件名会包含昨天的日期,但执行后没有反应,折腾了半天才发现crontab文件中无法理解%的含义,因而需要将%转义
0 12 * * * cd /data && sh aaa.sh >> aaa_$(date -d "-1 day" +\%Y\%m\%d).log
写成这样就可以了~~~