未创建文件,在ubuntu服务器12.04 Cron Job中

时间:2014-02-16 00:18:37

标签: python ubuntu cron

有人帮助我:

我在ubuntu服务器12.04上做了一个cron工作,第一个从web上重新获取数据,并在数据库中设置,它运行良好,但是在secon作业中python scrpit在读取数据库时应该从数据库数据中创建一个文件,但它不起作用。

 rub@myserver:/etc$ crontab -e

我编辑了这个:

# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
*/1 * * * * /usr/bin/python /home/rub/app/writeindb.py
*/1 * * * * /usr/bin/python /home/rub/app/writedatafromdb.py

我的代码的最后一部分在python writedatafromdb.py

 cursor.close() #close curso in data base
 conn.close() #close connecion in data base
json.dump(geojson, open('datafromdb.json', 'w'))    

1 个答案:

答案 0 :(得分:1)

您在代码中使用相对路径,因此文件datafromdb.json将写入当前工作目录。但是cronjob不会像在shell中那样在同一工作目录中运行Python脚本。请参阅Unix&上的What is the 'working directory' when cron executes a job结束。 Linux Stack Exchange网站。

使用绝对文件路径;一个以/开头,并拼出文件的完整路径。