- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
from Tkinter import *
import tkMessageBox
import smtplib
import sys
from email.mime.multipart
import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header
def Call():
global root
sender = 'Nome 1 <email1@exemplo.com>'
receivers = ['Nome 2 <email2@exemplo.com>',
'Nome 3 <email3@exemplo.com>',
'Nome 4 <email4@exemplo.com>']
msg = MIMEMultipart('alternative')
msg['Subject'] = Header("Envio de relatório diário", 'utf-8')
msg['From'] = sender
msg['To'] = ", ".join(receivers)
text = "A actividade de hoje foi:\n\n\n\n" + tb.get("1.0",'end-1c')
msg.attach(MIMEText(text.encode('utf-8'), 'plain', 'utf-8'))
try:
smtpObj = smtplib.SMTP('smtp.office365.com',587)
smtpObj.ehlo()
smtpObj.starttls()
smtpObj.ehlo()
smtpObj.login('emailAqui','passwordAqui')
smtpObj.sendmail(sender, receivers, msg.as_string())
smtpObj.quit()
tkMessageBox.showinfo("Sucesso", "A sua mensagem foi enviada com sucesso.")
root.quit()
except SMTPException:
tkMessageBox.showinfo("Erro", "Ocorreu um erro a enviar a mensagem")
os.environ["DISPLAY"] = ":0.0"
root = Tk()
root.wm_title("Report sender")
root.geometry('600x675')
tb = Text(root, height = 40)
tb.pack(side=TOP,pady=10)
button = Button(root, text = 'Send report!', command = Call)
button.pack(side=TOP,pady=10)
root.mainloop()
root.destroy()
我有一个包含上面代码的 python 脚本。如果我使用绝对路径调用它,它会按预期工作:
/usr/local/bin/reportSender.py
但是当我将它放在 crontab
中时,它不会出现任何窗口,就像我使用它的绝对路径执行它时一样。
出于测试目的,我的 crontab
如下所示:
30 10 * * * /usr/local/bin/reportSender.py
最佳答案
提供 python
的完整路径,或者只是 python
,如果它已经包含在用户 path
中,即:
30 10 * * * /full/path/to/python /usr/local/bin/reportSender.py
或者
30 10 * * * python /usr/local/bin/reportSender.py
关于Python tkinter 无法在 crontab 上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37047241/
我在 CentO 上以 root 身份登录。 如果我这样做 crontab -e ,我有一个空文件。 如果我这样做 cat /etc/crontab ,我有一个包含命令的文件。 这怎么可能? 任何的想
我有以下 cron 作业命令: * * * * * /usr/bin/lynx -term=vt100 http://abc.com/dir1/di2/script.php?action=add&co
我最近要在crontab中执行docker-compose命令时遇到问题。 我有一个docker-compose YAML文件,该文件定义了我需要的所有服务,例如“docker-compose.yml
如果您有一个每 5 分钟运行一次的 crontab 作业,您如何确保它永远不会超限?也就是说,您如何确保 crontab 作业的前一次迭代在下一次运行之前完成? 最佳答案 在脚本的开头,在文件系统的某
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
或许还有另一种解决方案。我构建了一个网络应用程序,需要 5-10 个 cron 来保持它的维护和不同的间隔。我想将 crontab checkin 版本控制,以便轻松部署到其他服务器。 我希望能够在/
我有一个带两个参数的命令。 当我手动运行命令时,我是这样做的: cmd -i xyz.dat hit enter enter password in the prompt hit enter conf
我在树莓派上,使用 rasbpian ! 我正在尝试安装一个新的 crontab 来执行基本脚本。这将使用 vlc 从网络摄像头拍摄一张照片。 我想每分钟都这样做,但我无法编辑我的 crontab 用
我想通过在我的服务器中执行此操作来添加一个 crontab 计划: echo "30 * * * */home/my/var/dir/to/script/var/etc/etc/etc/"> cron
将文本通过管道传输到 crontab 与 crontab 之间有什么区别 - (我认为确认它使用标准输入)? 在我的 Linux 机器上,执行 cat "1 0 0 0 0 something" |
我有一个 crontab 设置为 execute the 0th minute of every 3rd hour every day crontab 的语法是: 0 */3 * * * perl t
我使用 GENTOO 发行版。 crontab -e 35 12 * * * root php5 /home/www/cron.php 当我手动运行时: php5 php5 /home/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为
假设我有一个 crontab,它每 20 运行一次分钟,我有一个可以变化的小时范围,所以让我们说 a-b ,在一个例子中可能看起来像 */20 5-23 * * * /usr/bin/cool_pro
我在 Win7 中使用的是 cygwin 版本 2.3.1(0.291/5/3),并且已经尝试了几个小时让我的 crontab 计划作业运行。在我看来,可能成为问题的是我的 cron 进程和我的 cr
我想知道如果我将 crontab 添加到 /etc/crontab 或 crontab -e 是否重要? 我有一个 Ubuntu 17 和 Debian 9 VM 正在运行,我不知道哪个是正确的地方。
我尝试了以下命令,crontab 停止运行任何作业:echo "@reboot/bin/echo 'test' >/home/user/test.sh"|定时任务- 在 Linux 中将作业添加到 c
我想寻求有关 python-crontab 模块的帮助。我有一个简单的 shell 脚本,可以使用 curl 命令录制互联网广播流。我想通过在 crontab 中安排录制来提前安排录制。我找到了允许我
我将在这里扩展我的问题: 当包括 root 在内的每个用户都有自己的 crontab 时,系统 crontab 的需求是什么?系统 crontab 的存在似乎重复了功能。系统 crontab 是否更像
我想在我的 Capistrano 部署文件中包含 cron 任务,而不是使用以下命令手动编辑 crontab 文件: crontab -e [username] 是否有我可以在 Capistrano
我是一名优秀的程序员,十分优秀!