Apple har infört launchd som ersättning för inetd etc. Detta ersätter också cron jobben för t.ex. periodic [daily, weekly, monthly}
Jag försöker nu att skapa ett jobb som körs varje vecka. Jobbet består av att köra ett script rundiskutil som består av
#! /bin/sh
date >> /var/log/RunDiskUtil.log
diskutil repairPermissions / 2>&1 >> /var/log/RunDiskUtil.log
echo "" >> /var/log/RunDiskUtil.log
alltså att reparera filrättigheterna på root partitionen och skriva ti en log fil.
Scriptet fungerar aldeles utmärkt och det är inga konstigheter. Problemet uppkommer vid använding av launcctl. Min plist fil laddas ok med
$ launchctl load -w /Library/LaunchDaemons/com.gnumac.rundiskutil.plist
och ser ut som följande
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com
/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.gnumac.rundiskutil</string>
<key>LowPriorityIO</key>
<true/>
<key>Nice</key>
<integer>1</integer>
<key>On Demand</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/usr/sbin/rundiskutil</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>10</integer>
<key>Minute</key>
<integer>25</integer>
<key>Weekday</key>
<integer>5</integer>
</dict>
</dict>
</plist>
Denna verifieras av Xcode som en riktig XML-fil ändå körs inte scriptet av launchd. Är det någon som vet var felet kan bestå?