mysqldump cron 不转储

mysqldump cron 不转储

我正在尝试设置一个 cron 以每天使用 mysqldump 一次。没有输出,并且在观察时我看不到任何数据库使用情况top。crontab 是:

mysqldump [database] -u[user] -p'[password]' > /home/newvtds/backups/db_backup_`date +\%Y-\%m-\%d_\%H-\%M-\%S`.sql

有任何想法吗?

编辑:我有其他适用于同一用户的 cron,它们可以正常工作

答案1

重新启动 cron 守护进程:

sudo /etc/init.d/crond restart

答案2

在 crontab 条目中,您必须转义 % 字符。这就是您的问题:

http://www.ducea.com/2008/11/12/using-the-character-in-crontab-entries/

答案3

事情可能会以多种方式出错。

  1. 您不需要“ ”作为密码。
  2. 在 cron 任务中,始终指定 mysqldump 的完整路径。由于大多数 shell 都会在环境变量中设置 PATH,因此 cron 可能不会做出这样的假设,以避免执行文件劫持。

对于 cron 任务错误,它们总是会发送给拥有它的用户。请查看您的系统邮件以获取更多信息。

答案4

一般来说,我会确保您cron已设置好邮件输出方式。

我会[email protected]在你的 crontab 中添加一行,然后添加一个测试 cron 来验证输出。

就像是

* * * * * date

并确保您获得输出。

还要记住,在 cron 下,您的程序PATH非常小,可能只有 /usr/bin:/bin。并且没有 LD_LIBRARY_PATH。mysqldump 是在 /bin 还是 /usr/bin 中?

相关内容