Ho un semplice script che crea una nuova directory in base alla data, quindi copia un set di file in quella directory. Funziona bene da Terminal. Quando lo imposto per l'esecuzione come un utenteAgent fallisce. Il log degli errori mostra che è cambiato in percorsi da /Users/Study/xxx
a /var/root/xxx
. Ho provato a eseguirlo come root
da Terminal e funziona ancora. Ho assicurato che root
non è il proprietario del file di script. Ho modificato il mio percorso originale di ~/xxx
in /Users/Study/xxx
ma per qualche motivo quando lancio da launchd, cambia il percorso. Qualche idea?
script:
!/bin/bash
MO=$(date +%d%B%Y)
mkdir /Users/Study/Dropbox/SPID_backups/$MO
cp -r /Users/Study/WebDevelopment/SPID/*.* /Users/Study/Dropbox/SPID_backups/$MO
launchctl plist:
<?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.spidbackup</string>
<key>Program</key>
<string>/Users/Study/Library/Scripts/spidbackup.sh</string>
<key>StandardErrorPath</key>
<string>/tmp/com.spidbackup.err</string>
<key>StandardOutPath</key>
<string>/tmp/com.spidbackup.out</string>
<key>StartCalendarInterval</key>
<array>
<dict>
<key>Hour</key>
<integer>17</integer>
<key>Minute</key>
<integer>11</integer>
</dict>
</array>
<key>WorkingDirectory</key>
<string>/Users/Study</string>
</dict>
</plist>