我的 python 脚本没有在我的 crontab 下运行。
我把它放在顶部的python脚本中:
#!/usr/bin/python
我试过这样做:
chmod a+x myscript.py
添加到我的crontab -e
:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
* * * * * /home/me/project/myscript.py
我的 /var/log/cron 文件说:
Sep 21 11:53:02 163-dhcp /USR/SBIN/CROND[2489]: (me) CMD (/home/me/project/myscript.py)
但是我的脚本没有运行,因为当我检查我的 sql 数据库时,没有任何改变。如果我像这样直接在终端中运行它:
python /home/me/project/myscript.py
我得到正确的结果。
这是myscript.py
:
#!/usr/bin/python
import sqlite3
def main():
con = sqlite3.connect("test.db")
with con:
cur = con.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS testtable(Id INTEGER PRIMARY KEY, Name TEXT)")
cur.execute("INSERT INTO testtable(Name) VALUES ('BoB')")
cur.execute("SELECT * FROM testtable")
print cur.fetchall()
if __name__ == "__main__":
main()
根据评论:是的,/usr/bin/python
存在。我也可以直接使用/home/me/project/myscript.py
. /usr/bin/python /home/me/project/myscript.py
作品。所以我不相信这是原因?