在linux下執行定期任務可以使用crontab,目前mac os也可以使用它,不過已不推薦使用。推薦做法是採用plist指令碼,plist指令碼可以設定執行的動作,時間間隔等其他一些資訊。另外crontab的最小時間間隔是一分鐘,使用plist指令碼原則上時間間隔可以為一秒。
plist指令碼存放路徑為/library/launchdaemons或/library/launchagents,其區別是後乙個路徑的指令碼當使用者登陸系統後才會被執行,前乙個只要系統啟動了,哪怕使用者不登陸系統也會被執行。
可以通過兩種方式來設定指令碼的執行時間。乙個是使用startinterval,它指定指令碼每間隔多長時間(單位:秒)執行一次;另外乙個使用startcalendarinterval,它可以指定指令碼在多少分鐘、小時、天、星期幾、月時間上執行,類似如crontab的中的設定。
乙個簡單例子如下:
<?xml version="1.0" encoding="utf-8"?>其中key是plist指令碼定義的屬性,緊跟著的下一行是該屬性對應的值。上述指令碼是每間隔60秒執行一次/users/yangyz/plist-test.sh這個shell指令碼,也可以使用startcalendarinterval來替換startinterval達到同樣的效果,例如:label
com.yangyz.cron.test.plist
programarguments
/users/yangyz/plist-test.sh
keepalive
runatload
startinterval
60
startcalendarinterval上述設定的意思為每天的每個小時的第0分鐘執行,也即使每60秒執行一次。minute
0
停止指令碼com.yangyz.cron.test.plist執行如果執行上面命令看到launchctl: dubious ownership on file (skipping): /library/launchdaemons/com.yangyz.cron.test.plist這樣的錯誤,其原因是該指令碼的owner和當前執行操作使用者不一致。使用chown修改一下即可。launchctl unload /library/launchdaemons/com.yangyz.cron.test.plist
啟動指令碼com.yangyz.cron.test.plist執行
launchctl load /library/launchdaemons/com.yangyz.cron.test.plist
參考資料:
Mac 開機自啟動配置設定方法(定時任務解決方案)
在linux下執行定期任務可以使用crontab,目前mac os也可以使用它,不過已不推薦使用。推薦做法是採用plist指令碼,plist指令碼可以設定執行的動作,時間間隔等其他一些資訊。另外crontab的最小時間間隔是一分鐘,使用plist指令碼原則上時間間隔可以為一秒。plist指令碼存放路...
mac 設定mysql開機自啟動
mac 設定mysql開機自啟動 1 編輯乙個mysql啟動檔案。在終端裡面輸入 sudo vi library launchdaemons com.mysql.mysql.plist 2 輸入啟動檔案內容 複製 keepalive label com.mysql.mysqld programarg...
設定OVS開機自啟動的方法
以openvswitch 1.9.0為例,安裝完成後做如下操作 1.安裝完ovs後將兩個.ko檔案拷貝到 etc sysconfig modules下,使用cp命令即可,如下 cd openvswitch 1.9.0 cp rf datapath linux openvswitch.ko etc s...