在 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 运行反引用的注释并将其输出插入到命令行中。