ฉันมีสคริปต์ง่ายๆที่สร้างไดเรกทอรีใหม่ตามวันที่แล้วคัดลอกชุดของไฟล์ไปยังไดเรกทอรีนั้น มันทำงานได้ดีจาก Terminal เมื่อฉันตั้งค่าให้ทำงานเป็น UserAgent มันจะล้มเหลว บันทึกข้อผิดพลาดแสดงว่ามีการเปลี่ยนเส้นทางจาก /Users/Study/xxx
ไปยัง /var/root/xxx
. ฉันพยายามเรียกใช้เป็น root
จาก Terminal และยังใช้งานได้ ฉันมั่นใจ root
ไม่ใช่เจ้าของไฟล์สคริปต์ ฉันเปลี่ยนเส้นทางดั้งเดิมของ ~/xxx
ไปที่ /Users/Study/xxx
แต่ด้วยเหตุผลบางอย่างเมื่อเรียกใช้จาก launchd มันจะเปลี่ยนเส้นทาง ความคิดใด ๆ
สคริปต์:
!/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
Platctl 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>