【问题标题】:Script fail in cron but works in command line "keyring error"脚本在 cron 中失败,但在命令行“密钥环错误”中有效
【发布时间】:2021-07-31 04:43:44
【问题描述】:

您好,我创建了一个 python 脚本,并希望每天使用 crontab 执行它。

我想在“Ubuntu 服务器”上执行它(基本上是一个使用 ubuntu 桌面 20.04.2.0 的旧笔记本电脑,但我总是让他靠近并主要使用 ssh 登录)

在这个脚本中,我使用 yagmail 来通知自己脚本何时完成运行。 我在使用命令行时确实工作。 但是当我使用 cron 时它不起作用。

我是新手,所以我很难理解为什么它不起作用。 为了尝试调试它,我将脚本的输出重定向到一个日志文件中,这就是我得到的:

    File "/usr/lib/python3/dist-packages/keyring/core.py", line 63, in set_password
    _keyring_backend.set_password(service_name, username, password)
  File "/usr/lib/python3/dist-packages/keyring/backends/fail.py", line 25, in get_password
    raise NoKeyringError(msg)
keyring.errors.NoKeyringError: No recommended backend was available. Install a recommended 3rd party backend package; or, install the keyrings.alt package if you want to use the non-recommended backends. See https://pypi.org/project/keyring for details

我曾尝试在互联网上搜索,但没有发现任何有趣/我能理解的内容。

我已经尝试在 user/su 中运行 crontab。没有任何效果,同样的错误。

如果您有任何想法或线索可以让我遵循,那就太好了 谢谢!

【问题讨论】:

    标签: python ubuntu cron yagmail


    【解决方案1】:

    通过使用 oauth2 使用 yagmail 登录解决了该问题。与 crontab 配合得很好。 仍然不知道如何将密钥环与 crontab thoe 一起使用。

    【讨论】:

      猜你喜欢
      • 2017-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-13
      • 2017-03-26
      • 2013-02-07
      相关资源
      最近更新 更多