其中的關(guān)鍵字解釋:
1)Label(必選)
該項(xiàng)服務(wù)的名稱。
2)Program(ProgramArgument是必選的,在沒有ProgramArgument的情況下,必須要包含Program關(guān)鍵字)
指定可執(zhí)行文件的路徑和名稱。
3)RunAtLoad(可選)
標(biāo)識(shí)launchd在加載完該項(xiàng)服務(wù)之后立即啟動(dòng)路徑指定的可執(zhí)行文件。默認(rèn)值為false。設(shè)置為true即可實(shí)現(xiàn)開機(jī)運(yùn)行腳本文件。
4)WorkingDirectory(可選)
運(yùn)行可執(zhí)行文件之前,指定當(dāng)前工作目錄的路徑。
5)KeepAlive(可選)
這個(gè)關(guān)鍵字可以用來控制是否讓可執(zhí)行文件持續(xù)運(yùn)行,默認(rèn)值為false,也就是說滿足具體條件之后才啟動(dòng)。當(dāng)設(shè)置值為ture時(shí),表明無條件的開啟可執(zhí)行文件,并使之保持在整個(gè)系統(tǒng)運(yùn)行周期內(nèi)。
6)StartCalendarInterval(可選)
該關(guān)鍵字可以用來設(shè)置定時(shí)執(zhí)行可執(zhí)行程序,可使用Month、Day、Hour、Minute等子關(guān)鍵字,它可以指定腳本在多少月、天、小時(shí)、分鐘、星期幾等時(shí)間上執(zhí)行,若缺少某個(gè)關(guān)鍵字則表示任意該時(shí)間點(diǎn),類似于Unix的Crontab計(jì)劃任務(wù)的設(shè)置方式,比如在該例子中設(shè)置為每天11點(diǎn)鐘執(zhí)行腳本文件。
所有key關(guān)鍵字詳細(xì)使用說明可以在Mac OS X終端下使用命令man launchd.plist查詢。
•在客戶機(jī)部署配置文件和腳本文件
1) 首先為Mac OS X系統(tǒng)的當(dāng)前的用戶設(shè)置一個(gè)密碼,在系統(tǒng)偏好設(shè)置→賬戶中設(shè)置。
然后,可通過共享等方式將腳本文件ae_scan_mac.sh和plist文件ae_scan_mac.plist拷貝到本地硬盤的一個(gè)臨時(shí)目錄中,然后打開實(shí)用工具→終端,使用以下命令:
sudo mv ae_scan_mac.* /Library/LaunchDaemons
將這兩個(gè)文件移動(dòng)到/Library/LaunchDaemons/目錄下。
2) 修改文件權(quán)限:
sudo chown root:wheel /Library/LaunchDaemons/ae_scan_mac.*
sudo chmod a+x /Library/LaunchDaemons/ae_scan_mac.sh
sudo chmod 644 /Library/LaunchDaemons/ae_scan_mac.plist
3) plist文件的編輯和檢查
可使用命令sudo vim ae_scan_mac.plist對(duì)文件進(jìn)行修改。
檢查plist文件的語法:
plutil ae_scan_mac.plist
若返回OK則表示文件語法正確。
4) 啟動(dòng)服務(wù)并載入plsit文件:
sudo launchctl load /Library/LaunchDaemons/ae_scan_mac.plist
或者重啟Mac電腦也可以。
要留意的是,每次修改完plist文件后必須使用以下命令重新載入plist文件又或者重啟電腦,plist的配置才會(huì)生效。
sudo launchctl unload /Library/LaunchDaemons/ae_scan_mac.plist
sudo launchctl load /Library/LaunchDaemons/ae_scan_mac.plist
接著,檢查服務(wù)的運(yùn)行狀態(tài):
sudo launchctl list
5) 最后待腳本運(yùn)行后,就能在AssetExplorer服務(wù)器上看到這臺(tái)客戶機(jī)的信息了,之后客戶機(jī)就會(huì)自動(dòng)按照plist文件設(shè)置的時(shí)間或者重啟機(jī)器后將機(jī)器信息上傳到服務(wù)器。
兩個(gè)文件的部署有幾個(gè)地方需要注意的:
1)文件的權(quán)限必須正確,兩個(gè)文件所有者必須為root,腳本文件必須有執(zhí)行權(quán)限。
2)plist文件的語法必須正確,要留意配置中的程序工作目錄和運(yùn)行參數(shù)不要錯(cuò)。可執(zhí)行:sudo launchctl start /Library/LaunchDaemons/ae_scan_mac.plist
強(qiáng)制運(yùn)行服務(wù),或者直接運(yùn)行一下腳本程序,測(cè)試一下腳本文件的運(yùn)行是否正常。
3)每次plist文件修改后必須執(zhí)行l(wèi)aunchctl unload/load卸載并重新載入plist文件,才能使新的配置文件馬上生效。
腳本程序和配置文件分別在多臺(tái)客戶機(jī)一次性部署后,AssetExplorer就可以自動(dòng)收集到所有Mac電腦的硬件和軟件信息,即使機(jī)器配置更改了也無需手動(dòng)添加,方便了公司的資產(chǎn)管理。Launchd進(jìn)程的功能比較強(qiáng)大,Apple推薦并已使用該進(jìn)程替代傳統(tǒng)的cron了,大家有興趣可以再研究一下。
原文為博主所著,并刊登于《網(wǎng)絡(luò)運(yùn)維與管理》雜志2014.02.3.4期。
標(biāo)簽:隴南 荊門 許昌 漯河 丹東 黃石 法律咨詢 武漢
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《讓Mac OS X系統(tǒng)啟動(dòng)時(shí)執(zhí)行腳本的方法》,本文關(guān)鍵詞 讓,Mac,系統(tǒng),啟動(dòng),時(shí),執(zhí)行,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。