无法在 cronjob 生成的文件中正确显示日期

无法在 cronjob 生成的文件中正确显示日期

我正在执行一个 cronjob 任务,该任务创建每日数据库备份。为了区分每日文件,我将它们命名如下:dump-(当前日期)。备份操作进行得很顺利,但日期没有按应有的方式解释,(dump-$(date '+%Y-%m-%d'))而不是dump-14-12-2018

#filename=dump-$(date '+%Y-%m-%d')
#*/3 * * * * cd /bdd-backups/ && mysqldump --all-databases > 
$filename.sql -u xxx -pxxx

答案1

很难判断您的问题是什么,因为您向我们展示了一个 80% 被注释掉的文件,但看起来您正在将 crontab 文件视为多行 shell 脚本。它不是;每条线都是一个独立的实体。因此,您不能在一行上为变量赋值并在另一行上使用它。

要么将所有内容放在一行中,要么(从长远来看,这可能更好)将datecdmysqldump命令放入一个单独的脚本文件中,然后从 crontab 运行该脚本。

相关内容