我在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'))
答案 0 :(得分:1)
您在代码中使用相对路径,因此文件datafromdb.json
将写入当前工作目录。但是cronjob不会像在shell中那样在同一工作目录中运行Python脚本。请参阅Unix&上的What is the 'working directory' when cron executes a job结束。 Linux Stack Exchange网站。
使用绝对文件路径;一个以/
开头,并拼出文件的完整路径。