crontab无法进行MySQLdb查询

时间:2013-12-11 05:58:38

标签: python cron crontab mysql-python

我有一个连接MySQLdb的Python脚本,当我在命令行输入它时运行完全正常但在尝试通过cronjob运行时失败。可以假设cronjob语句正确调用脚本,但脚本完全无法尝试连接数据库。

我是否需要为mysql打开某种权限才能让cronjob进行交互?脚本的文件权限完全打开chmod 777。我使用语句(表示它已连接)连接到数据库:

import MySQLdb as mdb
mdb.connect(read_default_file="./my.cnf")

但是当我尝试选择一个已知的数据库.select_db("known_db")时,它说无法找到它,如果我尝试使用.query()语句创建它,则脚本完全失败。想法?

1 个答案:

答案 0 :(得分:1)

那应该是因为您的cron执行目录与您的工作目录不同

尝试从

更改cron中的行
*  *  *   *  *  python /path/to/your/script/script.py

*   *   *   *   * cd /path/to/your/script/ && python script.py

或者您可以更改脚本:

import os
import MySQLdb as mdb
mdb.connect(read_default_file=os.path.realpath(__file__)+"/my.cnf")