我有一个简单的cron作业,它应该每15分钟发送一次邮件,并更新本地sqlite3 db文件。
问题是,虽然我确实正确地收到了邮件,但数据库中的表没有得到更新,
import sys
import Adafruit_DHT
import time
import sqlite3
import datetime
import smtplib
print('Fierd!')
print(datetime.datetime.now())
humidity, temperature = Adafruit_DHT.read_retry(Adafruit_DHT.DHT22, 17)
conn = sqlite3.connect('history.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS history(id INTEGER PRIMARY KEY AUTOINCREMENT,temp real,humidty integer,time DATE )''')
c.execute('''INSERT INTO history(temp,humidty,time) VALUES(?,?,?)''',(temperature,humidity,datetime.datetime.now()))
conn.commit()
conn.close()
server = smtplib.SMTP('*************',587)
server.starttls()
server.login('******','********')
msg =temperature
server.sendmail('*******************','******************',repr(msg))
server.quit()
正如您所看到的,应该在将值插入db后发送邮件。
但我只收到邮件。
如果我手动运行它,它将按预期工作。
编辑:
这是cron命令:
*/15****sudo python/home/pi/adafruit\u python\u DHT/examples/saveHistory。复制(&A)&燃气轮机/tmp/我的命令。日志#作业ID\u 1
有什么想法吗?