Я пытаюсь автоматизировать сценарий для резервного копирования пары каталогов на моем Mac mini (macOS 11.4). Некоторые файлы, для которых я хочу создать резервную копию, хранятся на внешнем диске, подключенном к / Volumes / SHASTA. Я написал сценарий быстрого запуска, чтобы посмотреть, может ли он получить доступ к этому каталогу, но, похоже, он выдает ошибку. Вот что я написал:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>local.resticd</string>
<key>StandardOutPath</key>
<string>/Users/myname/test.txt</string>
<key>StandardErrorPath</key>
<string>/Users/myname/test2.txt</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/caffeinate</string>
<string>/bin/ls</string>
<string>/Volumes/SHASTA</string>
</array>
<key>WorkingDirectory</key>
<string>/Users/myname/restic</string>
<key>StartCalendarInterval</key>
<dict>
<key>Weekday</key>
<integer>0</integer>
<key>Hour</key>
<integer>23</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
</dict>
</plist>
К сожалению, единственный вывод, который я получаю от этого сценария:
ls: SHASTA: Operation not permitted
в стандартном выводе ошибок. Я не уверен, что даже пытаться получить разрешения launchd для доступа к этому диску, поскольку он уже работает с повышенными правами root.
1 ответ
Я решил эту проблему. Проблема заключалась в том, что исполняемый файл caffeinate (который я использовал, потому что, когда я добавляю свой сценарий резервного копирования позже, я хочу, чтобы машина не переходила в спящий режим), не было разрешения на полный диск. Это помешало ему получить доступ к внешнему диску. Добавление кофеината в полный список разрешений для диска в настройках решило проблему.