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

Home / Article MrLee 2017-1-4 3459

如果不想用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

 

本文链接:https://www.it72.com/11710.htm

推荐阅读
最新回复 (0)
返回