8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

通过 Crontab 运行 Python 脚本不起作用

Thyag 2月前

262 0

因此,我编写了一个脚本来汇总一些新闻通讯并通过 Telegram 发送给我。该脚本本身运行完美。现在我尝试每天早上 7 点通过 Ubun 上的 crontab 运行此脚本...

因此,我编写了一个脚本来汇总一些新闻通讯并通过 Telegram 发送给我。该脚本本身运行完美。现在,我尝试每天早上 7 点通过 Ubunutu 服务器上的 crontab 运行此脚本。日志文件看起来不错,我在脚本中使用的每个 print() 都正常显示而没有错误,但它不会发送消息。

我的 Crontab 命令:

00 12 * * * DISPLAY=:0 /usr/bin/python3 /root/data/App/Briefing/main.py >> /home/main.log &2>1

Python 脚本:

主程序

import ai as AiHandler
import mail as MailHandler
import send as Telegram
import pandas as pd
from datetime import date
def start():
    files = MailHandler.scanEmails()
    files = AiHandler.summarize(files)

    print(files)

    data = pd.read_csv('checkpoint.csv', sep=';')
    checkpoint = createMsg(data)

    s = f"morgentliches Briefing vom {date.today().strftime("%d.%m.%Y")}".replace(".", "\\.")

    s += "\n\n\n  *Die* *Lage* *am* *Morgen* *\\-* *Spiegel*\n\n\n" + createMsg(pd.read_csv('spiegel.csv', sep=';'))

    s += "\n\n\n  *Berlin* *\\-* *Tagesspiegel* *Checkpoint*\n\n\n" + checkpoint

    s += "\n\n\n *Tech* *Update* *\\-* *ManagerMagazin* \n\n\n" + createMsg(pd.read_csv('manager.csv', sep=';'))  


    Telegram.sendMessage(s)
    

def createMsg(data):

    s = ""

    for i in range(5):

        thema = data['Thema'][i].replace('*', '\\*')
        zsm = data['Zusammenfassung'][i].replace('*', '\\*')

        s += "\t" + "*" + thema + "*" + "\n"
        s += zsm + "\n"
    
    s = s.replace("-", "\\-")
    s = s.replace(".", "\\.")
    s = s.replace("(", "\\(")
    s = s.replace(")", "\\)")
    #s = s.replace("*", "\\*")
    s = s.replace("!", "\\!")

    return s
start()

发送.py

import telebot

def sendMessage(msg):
    bot = telebot.TeleBot("XXXXXX")
    bot.send_message(chat_id="@morgenbriefing", text=msg, parse_mode="MarkdownV2")

我尝试将 DISPLAY:=0 添加到 crontab 命令中,但没有帮助

帖子版权声明 1、本帖标题:通过 Crontab 运行 Python 脚本不起作用
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Thyag在本站《ubuntu》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 我将 rails 从 5.2 更新到了 5.2.8:gem 'railties', '~> 5.2.8.1 'gem 'actionpack', '~> 5.2.8.1 'gem 'actionmailer', '~> 5.2.8.1 'gem 'activejob', '~> 5.2.8.1 'gem 'activerecord', '~&...

    我将 Rails 从 5.2 更新到了 5.2.8:

    gem 'railties', '~> 5.2.8.1 '
    gem 'actionpack', '~> 5.2.8.1 '
    gem 'actionmailer', '~> 5.2.8.1 '
    gem 'activejob', '~> 5.2.8.1 '
    gem 'activerecord', '~> 5.2.8.1 '
    gem 'activesupport', '~> 5.2.8.1 '
    

    我分析了此版本中的变化,发现活动记录设置中增加了更多内容,这些内容不会影响应用程序的行为,因为我没有添加这些新设置

    但是测试失败了,因为更新前 0.days 返回了 0 秒,更新后返回了 0 天,我分析了 gemfile.lock 以检查下面是否安装了任何依赖项,但唯一可以改变行为的是 gem 数据 3.3.4,但我检查了这个 gem 中的变化,它们与文档有关

    它只破坏了一项测试,但我担心这种行为会影响整个应用程序

    这可能是什么问题?我该如何解决?

返回
作者最近主题: