我有一个用python编写的sqlite查询: dibbs5.py
cursor.executemany ( """
INSERT INTO dibbs_spider_dibbs_fields(hash,nsn,nomenclature,technical_documents,solicitation,
status,purchase_request,issued,return_by,file)
VALUES (?,?,?,?,?,?,?,?,?,?)
""" , records )这在本地运行得很好,在生产环境中,当我从终端执行它时,它就会执行。但是当我在cronjob中调度它时,它显示了错误:
cursor.executemany ( """
sqlite3.OperationalError: no such table: dibbs_spider_dibbs_fields有一个表名为dibbs_spider_dibbs_fields
Crontab:
31 09 * * * /usr/bin/python3 /root/spider/manage.py makemigrations > /root/spider/migration.log 2>&1
32 09 * * * /usr/bin/python3 /root/spider/manage.py migrate > /root/spider/migration2.log 2>&1
33 09 * * * DISPLAY=:0 /usr/bin/python3 /root/spider/dibbs5.py > /root/spider/dibbserorr3.log 2>&1发布于 2021-11-16 13:24:39
您是否在生产终端中使用root运行了dibbs5.py?它起作用了吗?如果是,请使用以下命令更改crontab
sudo crontab -u root -e31 09 * * * /usr/bin/python3 /root/spider/manage.py makemigrations > /root/spider/migration.log 2>&1
32 09 * * * /usr/bin/python3 /root/spider/manage.py migrate > /root/spider/migration2.log 2>&1
33 09 * * * DISPLAY=:0 /usr/bin/python3 /root/spider/dibbs5.py > /root/spider/dibbserorr3.log 2>&1我有一种感觉,你不是在为root编辑crontab。您遇到的程序是因为文件中缺少该表,因为环境变量设置不正确,导致访问错误的文件。
https://stackoverflow.com/questions/69896513
复制相似问题