首页 > 代码精文 > Program > 关于crontab不能成功执行mysql命令行的问题
2017
01-04

关于crontab不能成功执行mysql命令行的问题

如果不想用C++,Python来完成自动备份或者数据清理等工作,那么用shell肯定是最方便的。Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。

但是就在使用的过程中,问题就来了。比如我遇到的问题就是,我写好一个备份脚本,手动运行正常,也备份成功了。但是加入到crontab中,仅仅是生成了执行sh的日志,但是SQL根本没执行,如此是何问题?查了下百度,说是环境变量的问题,如我当前是root用户,我把当前的变量引入也没用

source /root/.bash_profile

我的sh脚本内容如下:

#!/bin/bash
source /root/.bash_profile
mysql -u root -p123 << EOF >/home/shell/log.txt
CALL db.AutoClear();
EOF

以上始终log.txt没有内容,SQL没执行,改成这样就能成功执行了!

#!/bin/bash
/usr/local/mysql/bin/mysql -u root -p123 << EOF >/home/shell/log.txt
CALL db.AutoClear();
EOF

 

最后编辑:
作者:小企鹅
这个作者貌似有点懒,什么都没有留下。
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!

留下一个回复