备份数据库使用带日期功能的crontab

meo*_*hia 6 linux ubuntu crontab

我可以使用这个命令

mysqldump -u"root"  myDB| gzip > mydb_`date +%d-%m-%Y`.sql.gz
Run Code Online (Sandbox Code Playgroud)

但是在crontab中运行时

* * * * * mysqldump -u"root"  myDB| gzip > mydb_`date +%d-%m-%Y`.sql.gz
Run Code Online (Sandbox Code Playgroud)

(此错误由函数日期引起,当我删除它时,crontab运行良好)

在ubuntu上,它在日志文件中发生此错误.

ubuntu CRON[xxxx] (user) CMD(mysqldump -u"root"  myDB| gzip > mydb_`date+)
ubuntu CRON[xxxx] (CRON) error ( grandchild #5353 failed with exit status 2)
ubuntu CRON[xxxx] (CRON) info (no MTA installed, discarding output)
Run Code Online (Sandbox Code Playgroud)

Kei*_*son 13

%crontab命令中的符号将转换为换行符,并且第一个之后的所有数据%都将发送到命令的stdin.替换每个%\%.

(而你只有4个时间字段:* * * *;你需要5个(你后来修复了这个问题).)