bet*_*oys 6 mysql bash mysqldump
我有一个运行mysqldump的bash脚本mysql_cron.sh
#!/bin/bash
/usr/local/mysql/bin/mysqldump -ujoe -ppassword > /tmp/somefile
Run Code Online (Sandbox Code Playgroud)
这很好用.然后我从cron调用它:
20 * * * * /home/joe/mysql_cron.sh
Run Code Online (Sandbox Code Playgroud)
这会创建文件/ tmp/somefile,但文件始终为空.我试过添加一个
source /home/joe/.bash_profile
Run Code Online (Sandbox Code Playgroud)
脚本以确保cron具有正确的env变量,但这没有帮助.我看到很多其他人遇到这个问题,但没有找到解决办法.我还尝试在crontab中使用'>'运算符来捕获文件中的任何cron错误,但这似乎不会产生任何错误.欢迎任何疑难解答.谢谢!
将错误信息输出添加到文件中(如Damp所说),以便您可以检查是否有任何错误:
#!/bin/bash
/usr/local/mysql/bin/mysqldump -ujoe -ppassword > /tmp/somefile 2>&1
Run Code Online (Sandbox Code Playgroud)
您还可以查看MySQL的日志文件,/var/log以防有一些提示.