You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LaunchAgent执行rsync脚本报错Operation not permitted求助

解决方案
  • 授予完整磁盘访问权限
    打开「系统设置」→「隐私与安全性」→「完整磁盘访问」,解锁后将/bin/sh(或直接添加你的rsync2server.sh脚本)加入列表并勾选允许。Ventura的隐私机制会限制后台进程访问用户文件夹,这是常见的权限触发点。

  • 确保脚本具备执行权限
    在终端运行:

    chmod +x /Users/pat/Documents/scripts/rsync2server.sh
    
  • 修正LaunchAgent配置文件
    检查~/Library/LaunchAgents/pat.rsync2server.plist的关键配置:

    1. 明确指定shell与脚本路径:
      <key>ProgramArguments</key>
      <array>
          <string>/bin/sh</string>
          <string>/Users/pat/Documents/scripts/rsync2server.sh</string>
      </array>
      
    2. 配置完整的环境变量PATH,包含rsync等命令的路径(可通过终端which rsync获取具体路径):
      <key>EnvironmentVariables</key>
      <dict>
          <key>PATH</key>
          <string>/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
      </dict>
      
    3. 设置脚本工作目录,避免路径依赖问题:
      <key>WorkingDirectory</key>
      <string>/Users/pat/Documents/scripts</string>
      
  • 调整电源与触发设置
    Ventura休眠时会严格限制后台进程,建议将脚本设置为夜间特定时间(系统处于唤醒状态)执行,而非休眠过程中。可通过StartCalendarInterval精确配置执行时间,同时检查「系统设置」→「电池」→「选项」,关闭可能阻止后台运行的节能选项。

  • 重新加载配置并排查日志
    先卸载旧配置再重新加载:

    launchctl bootout gui/503 ~/Library/LaunchAgents/pat.rsync2server.plist
    launchctl bootstrap gui/503 ~/Library/LaunchAgents/pat.rsync2server.plist
    

    查看系统日志定位具体问题:

    log show --predicate 'process == "launchd" && message contains "pat.rsync2server"' --info
    
  • 尝试改用zsh执行脚本
    若脚本依赖zsh专属语法,将plist中的/bin/sh替换为/bin/zsh,并将/bin/zsh也加入完整磁盘访问权限列表。

内容的提问来源于stack exchange,提问作者pferrel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 20:05:13