我正在执行一个 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 脚本。它不是;每条线都是一个独立的实体。因此,您不能在一行上为变量赋值并在另一行上使用它。
要么将所有内容放在一行中,要么(从长远来看,这可能更好)将date
、cd
和mysqldump
命令放入一个单独的脚本文件中,然后从 crontab 运行该脚本。