Tengo un script simple que crea un nuevo directorio basado en la fecha y luego copia un conjunto de archivos a ese directorio. Funciona bien desde la Terminal. Cuando lo configuro para que se ejecute como UserAgent, falla. El registro de errores muestra que ha cambiado a las rutas de /Users/Study/xxx
a /var/root/xxx
. He intentado ejecutarlo como root
desde Terminal y todavía funciona. Me aseguré de que root
no sea el propietario del archivo de script. Cambié mi ruta original de ~/xxx
al /Users/Study/xxx
, pero por alguna razón, cuando se ejecuta desde launchd, cambia la ruta. ¿Alguna 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>