首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysqldump在linux上通过cron运行时创建空文件

问Mysqldump在linux上通过cron运行时创建空文件
EN

Stack Overflow用户
提问于 2011-02-15 02:13:34
回答 2查看 5.5K关注 0票数 7

我有一个运行mysqldump的bash脚本mysql_cron.sh

代码语言:javascript
复制
#!/bin/bash
/usr/local/mysql/bin/mysqldump -ujoe -ppassword > /tmp/somefile

这可以很好地工作。然后我从cron调用它:

代码语言:javascript
复制
20 * * * * /home/joe/mysql_cron.sh

这将创建文件/tmp/somefile,但该文件始终为空。我已经尝试添加一个

代码语言:javascript
复制
source /home/joe/.bash_profile 

以确保cron具有正确的环境变量,但这并没有帮助。我看到许多其他人也有这个问题,但没有找到解决方案。我还尝试了crontab中的'>‘操作符来将任何cron错误分类到文件中,但似乎没有生成任何错误。欢迎任何疑难解答的想法。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-15 02:39:58

将错误信息的输出添加到文件中(就像Damp所说的),这样您就可以检查是否有错误:

代码语言:javascript
复制
#!/bin/bash
/usr/local/mysql/bin/mysqldump -ujoe -ppassword > /tmp/somefile 2>&1

您也可以在/var/log上查看MySQL的日志文件,以防有什么提示。

票数 10
EN

Stack Overflow用户

发布于 2011-02-15 02:23:24

将这一行添加到您的脚本中,并比较从cron运行它与直接运行它的结果:

代码语言:javascript
复制
env > /tmp/env.$$.out

结果文件名中的$$将替换为父进程(cron或shell)的PID。您应该能够对这两个文件执行diff操作,并查看这两个环境之间是否有任何重要的区别。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4995689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档