Voglio iniziare a sostituire crontabs con LaunchAgents. Il mio primo tentativo non funziona.
<?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>com.nocturnal.mcworldsBackup</string>
<key>ProgramArguments</key>
<array>
<string>~/bin/mcworldsBackup.sh</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>4</integer>
<key>Minute</key>
<integer>30</integer>
</dict>
</dict>
</plist>
Lo script mcworldsBackup.sh funziona perfettamente standalone. L'ho fatto registrare un timestamp su un file ogni volta che viene eseguito e finora launchd non l'ha eseguito una volta sola.
Ho controllato e riparato i permessi del mio disco usando DiskUtility, il plist è in ~ / Library / LaunchAgents / com.nocturnal.mcworldsBackup.plist con permessi 0644, come tutti gli altri file .plist già presenti. Sono tutti di mia proprietà: lo staff.
Se grep per mcworldsBackup.sh in / var / log / * non trovo nulla, nessun indizio sul motivo per cui non viene eseguito.
Dopo aver creato il plist per la prima volta, ho eseguito il logout e riavviato il computer, anche riavviato il computer più volte, anche se la documentazione dice che è sufficiente effettuare il login.