Мой скрипт на 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
существует. Я также могу запустить скрипт Python напрямую, используя только /home/me/project/myscript.py
. /usr/bin/python /home/me/project/myscript.py
работает. Так я не верю, что это причина?