För att schemalägga script i OSX Lion används launchd. Lägg till ett jobb genom att spara en .plist i mappen /Users/%användare%/Library/LaunchAgents. Ett exempel på en .plist är:
<?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>se.christianengvall.phptelldus</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/php</string>
<string>/Users/%användare%/Sites/Telldus/hello.php</string>
</array>
<key>StartInterval</key>
<integer>10</integer>
</dict>
</plist>
Under Label namnger man sitt jobb, som man sedan kan se genom att skriva “launchctl list” i terminalen. I ProgramArguments anges att vi vill använda php för att köra filen hello.php. StartInterval anger i sekunder hur ofta jobbet kommer att köras.
i hello.php finns logiken man vill utföra, här är ett exempel som skriver ut ett meddelande i Systemmeddelanden:
<?php
syslog(LOG_WARNING, "meddelande som syns i sysstemmeddelanden");
?>
Starta jobb med launchctl
För att köra jobbet läggs det till genom att skriva följande i ett terminalfönster:
launchctl load /Users/%användarnamn%/Library/LaunchAgents/se.christianengvall.phptelldus.plist
Starta sedan Systemmeddelanden och klicka på “Alla meddelanden” så kommer texten “meddelande som syns i sysstemmeddelanden” dyka upp var tionde sekund.
Stoppa samma jobb med launchctl
Stoppa sedan jobbet genom att skriva:
launchctl unload /Users/%användarnamn%/Library/LaunchAgents/se.christianengvall.phptelldus.plist