【问题标题】:Trying to run a Python script with cron, getting [Errno 1] Operation not permitted尝试使用 cron 运行 Python 脚本,得到 [Errno 1] Operation not allowed
【发布时间】:2019-11-13 19:56:26
【问题描述】:

所以我有一个 Python 脚本,它只是从 API 中提取信息并发送电子邮件。当我手动运行它时,它可以工作。我设置了一个 cron 作业:

30 7 * * * /Users/myname/anaconda3/bin/python3 /Users/myname/Desktop/repo/somefolder/script.py >> /Users/myname/Desktop/filename.log 2>&1

但 filename.log 中的输出是: /Users/myname/anaconda3/bin/python3:无法打开文件'/Users/myname/Desktop/repo/somefolder/script.py':[Errno 1] 不允许操作

我尝试了很多不同的方法,包括尝试不同的文件权限、以 root 身份创建 cron 作业、添加 shebang 和不同的 Python 路径,但除了此错误之外无法获得任何输出。到目前为止,我在网上找到的任何结果都没有不同。

我使用的是 macOS Catalina 10.15.1。 我的脚本当前的文件权限:

-rwxr--r--  1 myname  staff  4161 13 Nov 18:07 /Users/myname/Desktop/repo/somefolder/script.py

任何帮助将不胜感激!

【问题讨论】:

  • 你能把错误的日志贴出来吗?
  • 不确定你要的是什么,但我帖子中的那一行是写入日志文件的全部内容。
  • 我猜这个:您的文件权限不正确,作为快速测试将权限更改为:chmod 755 [filename]
  • 很遗憾没用,我遇到了同样的错误。
  • @ap1997 你发现了吗?

标签: python-3.x cron macos-catalina


【解决方案1】:

我在尝试在 MacOS 中使用 crontab 运行 node.js 脚本时遇到了非常相似的问题。为了让我最终让它工作,我必须在系统偏好设置的安全和隐私设置中将cronzsh 添加到全盘访问。

如何添加定时任务: 1. Apple 菜单 -> 系统偏好设置 -> 安全和隐私 -> 全盘访问 2.单击锁定以允许更改 3.点击+号 4. 点击 Command + Shift + G 并输入 '/usr/sbin/' 5. 在二进制文件列表中滚动找到“cron” 6.点击“打开”

如何添加zsh: 1. 重复步骤 1 - 3 2. 点击 Command + Shift + G 并输入 '/bin' 3. 在二进制文件列表中滚动找到“zsh” 4.点击“打开”

在我这样做之后,我的 cron 作业运行没有问题。希望有帮助

【讨论】:

    猜你喜欢
    • 2014-07-18
    • 2018-05-29
    • 2020-02-23
    • 1970-01-01
    • 2017-12-23
    • 2022-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多