{
	"id": "8161fce9-300e-4358-b774-824b3037b119",
	"created_at": "2026-04-06T02:12:06.139937Z",
	"updated_at": "2026-04-10T03:24:17.973829Z",
	"deleted_at": null,
	"sha1_hash": "9c6146afbb739456bf32e1c353c8a64cb7716417",
	"title": "Scheduling Timed Jobs",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 60555,
	"plain_text": "Scheduling Timed Jobs\r\nPublished: 2016-09-13 · Archived: 2026-04-06 02:06:20 UTC\r\nIn OS X, you can run a background job on a timed schedule in two ways: launchd jobs and cron jobs. (Older\r\napproaches, such as at jobs and periodic jobs are deprecated and should not be used.) This section explains\r\nthese methods briefly and provides links to manual pages that provide additional details.\r\nTimed Jobs Using launchd\r\nThe preferred way to add a timed job is to use launchd . Each launchd job is described by a separate file. This\r\nmeans that you can manage launchd timed jobs by simply adding or removing a file.\r\nTo create a launchd timed job, you should create a configuration property list file similar to those described in\r\nCreating a launchd Property List File except that you specify a StartCalendarInterval key containing a\r\ndictionary of time values.\r\nFor example, the following property list runs the program happybirthday at midnight every time July 11 falls on\r\na Sunday.\r\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\r\n\u003c!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\"\r\n \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"\u003e\r\n\u003cplist version=\"1.0\"\u003e\r\n\u003cdict\u003e\r\n \u003ckey\u003eLabel\u003c/key\u003e\r\nhttps://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/ScheduledJobs.html\r\nPage 1 of 4\n\n\u003cstring\u003ecom.example.happybirthday\u003c/string\u003e\r\n \u003ckey\u003eProgramArguments\u003c/key\u003e\r\n \u003carray\u003e\r\n \u003cstring\u003ehappybirthday\u003c/string\u003e\r\n \u003c/array\u003e\r\n \u003ckey\u003eStartCalendarInterval\u003c/key\u003e\r\n \u003cdict\u003e\r\n \u003ckey\u003eDay\u003c/key\u003e\r\n \u003cinteger\u003e11\u003c/integer\u003e\r\n \u003ckey\u003eHour\u003c/key\u003e\r\n \u003cinteger\u003e0\u003c/integer\u003e\r\nhttps://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/ScheduledJobs.html\r\nPage 2 of 4\n\n\u003ckey\u003eMinute\u003c/key\u003e\r\n \u003cinteger\u003e0\u003c/integer\u003e\r\n \u003ckey\u003eMonth\u003c/key\u003e\r\n \u003cinteger\u003e7\u003c/integer\u003e\r\n \u003ckey\u003eWeekday\u003c/key\u003e\r\n \u003cinteger\u003e0\u003c/integer\u003e\r\n \u003c/dict\u003e\r\n\u003c/dict\u003e\r\n\u003c/plist\u003e\r\nFor more information on these values, see the manual page for launchd.plist .\r\nTimed Jobs Using cron\r\nSystemwide cron jobs can be installed by modifying /etc/crontab . Per-user cron jobs can be installed using\r\nthe crontab tool. The format of these crontab files is described in the man page for the crontab file format.\r\nBecause installing cron jobs requires modifying a shared resource (the crontab file), you should not\r\nprogrammatically add a cron job.\r\nhttps://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/ScheduledJobs.html\r\nPage 3 of 4\n\nEffects of Sleeping and Powering Off\r\nIf the system is turned off or asleep, cron jobs do not execute; they will not run until the next designated time\r\noccurs.\r\nIf you schedule a launchd job by setting the StartCalendarInterval key and the computer is asleep when the\r\njob should have run, your job will run when the computer wakes up. However, if the machine is off when the job\r\nshould have run, the job does not execute until the next designated time occurs.\r\nAll other launchd jobs are skipped when the computer is turned off or asleep; they will not run until the next\r\ndesignated time occurs.\r\nConsequently, if the computer is always off at the job’s scheduled time, both cron jobs and launchd jobs never\r\nrun. For example, if you always turn your computer off at night, a job scheduled to run at 1 A.M. will never be\r\nrun.\r\nSource: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/ScheduledJobs.html\r\nhttps://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/ScheduledJobs.html\r\nPage 4 of 4",
	"extraction_quality": 1,
	"language": "EN",
	"sources": [
		"MITRE"
	],
	"references": [
		"https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/ScheduledJobs.html"
	],
	"report_names": [
		"ScheduledJobs.html"
	],
	"threat_actors": [
		{
			"id": "eb3f4e4d-2573-494d-9739-1be5141cf7b2",
			"created_at": "2022-10-25T16:07:24.471018Z",
			"updated_at": "2026-04-10T02:00:05.002374Z",
			"deleted_at": null,
			"main_name": "Cron",
			"aliases": [],
			"source_name": "ETDA:Cron",
			"tools": [
				"Catelites",
				"Catelites Bot",
				"CronBot",
				"TinyZBot"
			],
			"source_id": "ETDA",
			"reports": null
		}
	],
	"ts_created_at": 1775441526,
	"ts_updated_at": 1775791457,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/9c6146afbb739456bf32e1c353c8a64cb7716417.pdf",
		"text": "https://archive.orkl.eu/9c6146afbb739456bf32e1c353c8a64cb7716417.txt",
		"img": "https://archive.orkl.eu/9c6146afbb739456bf32e1c353c8a64cb7716417.jpg"
	}
}