【问题标题】:cronjob mysql backup issuecronjob mysql备份问题
【发布时间】:2016-01-09 11:22:09
【问题描述】:

我通过 cron 运行它:

30 2,8,14,20 * * * DATE=`date +%Y-%m-%d_%H:%M`; mysqldump -u mysql_user -ppassword mysql_database | gzip > /home/username/backups/mysql_backup-$DATE.sql.gz

当我使用命令行时,它可以工作。但是 cronjob 给了我这样的错误:

/bin/bash: -c: line 0: unexpected EOF while looking for matching ``'
/bin/bash: -c: line 1: syntax error: unexpected end of file

我做错了什么?

【问题讨论】:

  • 只是在这里猜测:date +%Y-%m-%d_%H:%M 你不应该使用单引号而不是反引号吗?
  • 嗯,不 :( 我试过单引号,它给了我 /bin/bash: -c: line 0: unexpected EOF while looking for matching ''` 几乎相同的错误,除了单引号。
  • 试试这个:mysqldump -u mysql_user -ppassword mysql_database | gzip > /home/username/backups/mysql_backup-`date +%Y-%m-%d_%H:%M`.sql.gz

标签: mysql bash cron crontab


【解决方案1】:

您可能需要通过\ 转义%。它将是:

30 2,8,14,20 * * *  /bin/bash -c 'DATE=$(date +\%Y-\%m-\%d_\%H:\%M); echo $DATE'

【讨论】:

    猜你喜欢
    • 2013-11-05
    • 2017-11-27
    • 2016-12-05
    • 2011-06-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-03
    • 2015-02-18
    • 2011-10-04
    相关资源
    最近更新 更多