Mam agenta / demona, który uruchamia skrypt kopii zapasowej (używam restrykcyjny ) o 4:05 na StartCalendarInterval. Rozumiem, że jeśli działa agent uruchamiający, powinno to uniemożliwić osxowi uśpienie. Czy to źle?
Widzę, że mój skrypt częściowo działał, ponieważ w repozytorium utworzono migawkę, ale kiedy poszedłem sprawdzić migawkę, repo miało blokadę, która wskazywała mi, że coś się stało w połowie.
Oto mój plik plist dla agenta.
<?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>backup.restic.username</string>
<key>ProgramArguments</key>
<array>
<string>/Users/username/Documents/scripts/backup.sh</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Minute</key>
<integer>5</integer>
<key>Hour</key>
<integer>4</integer>
</dict>
</dict>
</plist>
Czy mogę coś dodać, aby zapobiec spaniu? Powiem, że macbook nie był podłączony i miał 35% baterii, kiedy się obudziłem.
man caffeinate
i kilka pytań / odpowiedzi na tej stronie dotyczących jej użycia i ograniczeń.Odpowiedzi:
@nohillside dał mi to, czego szukać. Zaktualizowano, aby użyć kofeiny, aby zapobiec spaniu dysku i systemu.
źródło
ProgramArguments
pierwszy ciąg jest faktycznie przypisany$0
podczas wykonywania (tak samo powinna być nazwa programu).launchctl start backup.restic.username
i działa zgodnie z przeznaczeniem. Nie widzę żadnych błędów/var/log/system.log
także. Czy może to być zmiana wersji launchd? Opierając się na moim googlu, bardzo się zmieniły w ostatnich latach: D. Edytuj: Wygląda na to, że masz rację, JEŚLI nie użyjesz kluczaProgram
.