在 crontab 中发送主题中的日期

在 crontab 中发送主题中的日期

在 crontab 中我有以下 cronjob 在运行。

0 0 * * * mysqldump -e --user=root --password=MYPASSWORD MYDB | gzip | uuencode db_ date +"\%Y-\%m-\%d".gz | mail -s ' date +"\%Y-\%m-\%d"_dump'[电子邮件保护]

我希望收到的电子邮件主题为 2013-09-14_dump,附件名为 db_2013-09-14_dump.gz

然而,当我收到这封电子邮件时,附件正如我收件箱中的主题所预期的那样是date +"%Y-%m-%d"_dump

我在这里做错了什么?我怎样才能将主题设为日期?

答案1

您的调用date需要用反引号引起来:

mysqldump -e --user=root --password=MYPASSWORD MYDB | gzip | uuencode db_`date "%Y-\%m-%d"`.gz | mail -s `date +"%Y-\%m-%d"`_dump [email protected]

Backquotes 告诉 shell 运行反引用的注释并将其输出插入到命令行中。

相关内容