试图从ubuntu crontab运行python脚本

试图从ubuntu crontab运行python脚本,python,ubuntu,cron,tkinter,Python,Ubuntu,Cron,Tkinter,嘿,我在尝试使用ubuntu中的python脚本运行cron作业时遇到了一个问题。这就是我所做的: 1.)编写了一个简单的tkinter应用程序:源代码来自以下url- 2.)将脚本更改为可执行: chmod 777 sample.py 3.)将脚本添加到我的cronjob中,以便每分钟运行一次以进行测试。我打开了crontab-e并将以下内容添加到我的文件中: * * * * * /home/bbc/workspace/python/tkinter/sample.py 4.)免责声明:

嘿,我在尝试使用ubuntu中的python脚本运行cron作业时遇到了一个问题。这就是我所做的:

1.)编写了一个简单的tkinter应用程序:源代码来自以下url-

2.)将脚本更改为可执行:

chmod 777 sample.py
3.)将脚本添加到我的cronjob中,以便每分钟运行一次以进行测试。我打开了crontab-e并将以下内容添加到我的文件中:

 * * * * * /home/bbc/workspace/python/tkinter/sample.py 
4.)免责声明:我没有为tkinter添加任何其他环境变量,也没有在/etc/init.d/cron处更改我的cronjob脚本

5.)我通过执行tail-f/var/log/syslog跟踪cron作业

$ tail -f /var/log/syslog
Jul  7 18:33:01 bbc CRON[11346]: (bbc) CMD (/home/bbc/workspace/python/tkinter/sample.py)
Jul  7 18:33:01 bbc CRON[11343]: (CRON) error (grandchild #11344 failed with exit status 1)
Jul  7 18:33:01 bbc CRON[11343]: (CRON) info (No MTA installed, discarding output)
Jul  7 18:33:01 bbc CRON[11342]: (CRON) error (grandchild #11346 failed with exit status 1)
Jul  7 18:33:01 bbc CRON[11342]: (CRON) info (No MTA installed, discarding output)

非常感谢您在调试此问题上提供的任何帮助…

我不确定您希望在这里发生什么。cronjob将无法访问可以显示GUI的显示器,因此该按钮将永远不会显示,因此
print\u此
将永远不会运行

FWIW,当我试图运行你的代码时,我遇到了一个错误:

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

不确定这是由于复制/粘贴到页面中造成的,还是您的代码确实存在问题。

我使用crontab运行bash文件

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

在termanal中——使用crontab-e bash文件可以执行任意数量的其他程序

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

此示例还自动将EODWD.py中的所有打印语句发送到日志文件

wait语句在执行下一个命令之前强制竞争


仅当两个文件(*.py&*.sh)都在linux mint 17中可执行时,此操作才有效。我必须执行以下操作:

使脚本可执行
~$chmod+x script.py

要使GUI应用程序正常工作,必须为localhost启用X ACL以连接到
~$xhost+本地:

在crontab“env DISPLAY=:0.0”中添加以下行
*****环境显示=:0.0/usr/bin/python/your-script-somewhere.py

还有一行到crontab“>/dev/null 2>&1”
*****环境显示=:0.0/usr/bin/python/your-script-somewhere.py>/dev/null 2>&1

您可以检查/var/log/syslog文件中的错误
~$tail-20/var/log/syslog

更多信息:

您能更具体地说明您预期会发生什么吗?我不确定您要求帮助的是什么问题。我正在尝试gui部分来提示我的屏幕。我已经改变了打印方法,从文本框中获取输入并写入文件。我担心的是,当您说“将脚本添加到我的cronjob”时,我的脚本抛出了一个--“错误(孙子失败,退出状态为1)”——哪个cronjob?在/etc/cron.d下面有什么?您的个人crontab来自
crontab-e
?我用正确的缩进编辑了src。我没有在/etc/cron.d下添加任何新脚本,我使用了crontab-e,并在步骤3中添加了描述中提供的行。@James嘿,我终于让它工作了。您询问要使用哪个显示器,为我指明了正确的方向。在谷歌搜索了GUI应用程序后,他们要求添加带有env DISPLAY=:0.0 GUI_appname的cron,这很有效。谢谢我正在尝试gui部分来提示我的屏幕。我已经改变了打印方法,从文本框中获取输入并写入文件。我担心的是我的脚本抛出了一个错误(孙辈#11475失败,退出状态为1)我这里的示例代码是这个url代码的一个清理版本-输入错误等待应该在它自己的线路上非常感谢xhost+local:顺便说一句,我想我们应该删除
env DISPLAY=:0.0
中的
env
,谢谢!我能够用这个解决方案解决我的问题。非常感谢!
  File "./t.py", line 4
    def __init__(self,parent):
      ^
IndentationError: expected an indented block