Launchd is the official way to schedule a task or run a service on OSX. The provided documentations goal is to turn you into a launchd expert at the cost of your afternoon. These are the 5 minute highlights to get a task running. Configure Plist You tell launchd to run a task by putting a reverse domain named plist file(com.example.name) in ~/Library/LaunchAgents, this is probably what you are looking for but if you want it to be global then put it in /Library/LaunchAgents.