Trying to run a python script from ubuntu crontab

前端 未结 3 726
暖寄归人
暖寄归人 2021-01-07 05:44

Hey I am running into an issue when trying to run a cron job with a python script from ubuntu. This is what I have done:

1.) Wrote a simple tkinter app: source for

相关标签:
3条回答
  • 2021-01-07 06:13

    I use crontab to run a bash file

    30 12 * * 1,2,3,4,5 /home/edward/SSF/SW/EODWD.sh

    in termanal -- use crontab -e

    the bash file executes as many other programs as you wish

    /home/edward/SSF/SW/EODWD.py >> /home/edward/Desktop/eodmail.log wait

    this example also sends all print statements in EODWD.py to a log file automatically

    the wait statement forces competion before taking the next command

    this works ONLY IF both files ( *.py & *.sh ) are made executable

    0 讨论(0)
  • 2021-01-07 06:14

    In linux mint 17 I had to do the following:

    Make the scripts executable
    ~$chmod +x script.py

    You have to enable X ACL for localhost to connect to for GUI applications to work
    ~$ xhost +local:

    Add the following line in the crontab "env DISPLAY=:0.0"
    * * * * * env DISPLAY=:0.0 /usr/bin/python /your-script-somewhere.py

    And one more line to crontab ">/dev/null 2>&1"
    * * * * * env DISPLAY=:0.0 /usr/bin/python /your-script-somewhere.py >/dev/null 2>&1

    you can check errors in /var/log/syslog file
    ~$ tail -20 /var/log/syslog

    more info:
    https://help.ubuntu.com/community/CronHowto

    0 讨论(0)
  • 2021-01-07 06:28

    I'm not sure what you expect to happen here. The cronjob won't have access to a display where it can display the GUI, so the button will never be displayed, so print_this will never be run

    FWIW, when I tried to run your code I got an error:

      File "./t.py", line 4
        def __init__(self,parent):
          ^
    IndentationError: expected an indented block
    

    Not sure if that's just caused by copy/paste into the page or if it's a real problem with your code.

    0 讨论(0)
提交回复
热议问题