【问题标题】:Operation not permitted while trying to run script through crontab - Mac尝试通过 crontab 运行脚本时不允许操作 - Mac
【发布时间】:2023-03-14 17:39:01
【问题描述】:

我正在尝试在 crontab (MacOS Catalina 10.15.6) 中运行 MongoDB 备份脚本

*/2 * * * * cd ~/Documents/MongoDB/hourly/ && source hourly_m_backup.sh >/tmp/stdout1.log 2>/tmp/stderr1.log

我收到了错误

/bin/sh: hourly_m_backup.sh: 不允许操作

文件的详细信息:

-rwxrwxrwx@ 1 Sethu  staff  686 11 Sep 19:38 hourly_m_backup.sh

我浏览了很多 StackOverflow 帖子。我无法让脚本通过 crontab 运行。但是,如果我独立于终端执行脚本,它就可以工作。我什至删除了文件并创建了一个新文件。尽管如此,我还是从 CronTab 收到错误消息。不知道该怎么办了。

------------ 更新 --------------

我尝试使用 sudo 命令运行

*/1 * * * * echo "####" | sudo -S cd ~/Documents/MongoDB/hourly/ && echo "####" | sudo -S source hourly_m_backup.sh >>/tmp/stdout1.log 2>>/tmp/stderr1.log

我收到了错误

sudo:来源:找不到命令

-----------更新 ----------

我尝试了这个post的解决方案,并实现了这个解决方案

*/1 * * * * echo "####" |  source <(sudo -S cat ~/Documents/MongoDB/hourly/hourly_m_backup.sh) >>/tmp/stdout1.log 2>>/tmp/stderr1.log

我在“邮件”中收到此错误

/bin/sh: -c: line 0: 意外标记附近的语法错误(' /bin/sh: -c: line 0: echo "####" |源 >/tmp/stdout1.log 2>>/tmp/stderr1.log'

【问题讨论】:

  • 你试过sudo吗?
  • 嗨@Olha。请在问题中查找更新。我尝试实施您的建议,但出现新错误。
  • 我尝试使用 ./hourly_m_backup 而不是源。我得到 ./hourly_m_backup 命令未找到
  • "./hourly_m_backup command not found" -> chmod +rwx hourly_m_backup.sh 然后sudo ./hourly_m_backup.sh

标签: macos unix cron


【解决方案1】:

解决方案很糟糕。我必须在 Mac 中提供对 CRON 的全盘访问。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-09
    • 2011-09-11
    • 1970-01-01
    • 2020-09-12
    • 2021-07-29
    • 2019-11-24
    • 2015-04-25
    • 2013-07-05
    相关资源
    最近更新 更多