J'ai un simple script qui crée un nouveau répertoire basé sur la date puis copie un ensemble de fichiers dans ce répertoire. Il s'exécute correctement à partir du Terminal. Lorsque je le configure pour qu'il s'exécute en tant que UserAgent, il échoue. Le journal d'erreurs montre que le chemin d'accès a été modifié pour passer de /Users/Study/xxx
à /var/root/xxx
. J'ai essayé de l'exécuter en tant que root
à partir de Terminal et cela fonctionne toujours. Je me suis assuré que root
n'est pas le propriétaire du fichier script. J'ai changé mon chemin original de ~/xxx
à la /Users/Study/xxx
mais pour une raison quelconque, lorsqu'il est exécuté depuis launchd, le chemin est modifié. Avez-vous une idée ?
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>