位置: 编程技术 - 正文

让Mac OS X系统启动时执行脚本的方法(mac如何设置启动系统)

编辑:rootadmin
公司购买了Zoho公司的资产管理软件AssetExplorer,该资产管理软件可以通过在客户机电脑上安装Agent客户端软件收集客户机的硬件及软件信息。公司有若干台iMac电脑,运行的是Mac OS X .6的系统,由于AssetExplorer只支持Windows版本的Agent,对于其他系统的计算机需要通过在客户端执行bash脚本文件的方式,收集客户机的信息并上传到服务器。这就要求客户机的Mac OS X系统启动的时候能够自动执行脚本程序,而且要基于系统服务层面,用户无需登录,脚本也能在后台运行,最好脚本程序后台还能做到固定时间自动运行。 我们可以利用Mac OS X内置的一种称为Launch Daemon / Agent的机制来实现系统启动时自动执行脚本程序。Mac OS X从.4 开始,采用 launchd进程来管理整个操作系统的服务及进程。传统的UNIX 会使用 /etc/rc.* 或其他的机制来管理开机时要启动的启动服务,而现在的Mac OS X则使用launchd来管理,它的启动服务称为Launch Daemon / Agents。利用Launch Daemon / Agent,我们就可以令脚本程序在系统启动的时候在后台运行了。 •Launch Daemon和Launch Agent的区别   Launch Daemon和Launch Agent 是同一种东西在不同应用范围的名称。Launch Daemon是系统级别的服务,称为daemon,Launch Agent是用户级别的服务,称为agent,前者在开机时会加载,后者在用户登录后才会加载。所以我们采用Launch Daemon的方式运行脚本。 •从AssetExolorer导出脚本文件   选择扫描→孤立工作站审计→通过脚本扫描工作站→Mac导出脚本文件ae_scan_mac.sh,并修改脚本文件中的hostName="服务器IP地址或域名地址",并检查portNo一项是否正确。 •创建plist配置文件   Launchd进程需要读取一个xml格式的plist配置文件,创建该文件并将其放置在/System/Library/LaunchDaemons/ 或者/Library/LaunchDaemons/目录下。可在Windows下预先创建该文件,需要使用支持Unix格式的文本编辑器(比如UltraEdit)创建该文件。    其中plist文件格式及每个字段的含义: ae_scan_mac.plist文件范例: XML/HTML Code复制内容到剪贴板 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" " <plist version="1.0"> <dict> <key>Label</key> <string>com.manageengine.ae_scan_mac</string> <key>Program</key> <string>ae_scan_mac.sh</string> <key>RunAtLoad</key> <true/> <key>WorkingDirectory</key> <string>/Library/LaunchDaemons/</string> <key>KeepAlive</key> <false/> <key>StartCalendarInterval</key> <dict> <key>Hour</key> <integer></integer> <key>Minute</key> <integer>0</integer> </dict> </dict> </plist>

推荐整理分享让Mac OS X系统启动时执行脚本的方法(mac如何设置启动系统),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mac怎么设置系统启动项,启动mac系统,mac 启动设置,mac 启动设置,mac 启动设置,mac怎么设置系统启动项,启动mac系统按哪个键,macos设置开机启动,内容如对您有帮助,希望把文章链接给更多的朋友!

其中的关键字解释: 1)Label(必选) 该项服务的名称。 2)Program(ProgramArgument是必选的,在没有ProgramArgument的情况下,必须要包含Program关键字) 指定可执行文件的路径和名称。 3)RunAtLoad(可选) 标识launchd在加载完该项服务之后立即启动路径指定的可执行文件。默认值为false。设置为true即可实现开机运行脚本文件。 4)WorkingDirectory(可选) 运行可执行文件之前,指定当前工作目录的路径。 5)KeepAlive(可选) 这个关键字可以用来控制是否让可执行文件持续运行,默认值为false,也就是说满足具体条件之后才启动。当设置值为ture时,表明无条件的开启可执行文件,并使之保持在整个系统运行周期内。 6)StartCalendarInterval(可选) 该关键字可以用来设置定时执行可执行程序,可使用Month、Day、Hour、Minute等子关键字,它可以指定脚本在多少月、天、小时、分钟、星期几等时间上执行,若缺少某个关键字则表示任意该时间点,类似于Unix的Crontab计划任务的设置方式,比如在该例子中设置为每天点钟执行脚本文件。 所有key关键字详细使用说明可以在Mac OS X终端下使用命令man launchd.plist查询。 •在客户机部署配置文件和脚本文件 1) 首先为Mac OS X系统的当前的用户设置一个密码,在系统偏好设置→账户中设置。   然后,可通过共享等方式将脚本文件ae_scan_mac.sh和plist文件ae_scan_mac.plist拷贝到本地硬盘的一个临时目录中,然后打开实用工具→终端,使用以下命令: sudo mv ae_scan_mac.* /Library/LaunchDaemons 将这两个文件移动到/Library/LaunchDaemons/目录下。 2) 修改文件权限: sudo chown root:wheel /Library/LaunchDaemons/ae_scan_mac.* sudo chmod a+x /Library/LaunchDaemons/ae_scan_mac.sh sudo chmod /Library/LaunchDaemons/ae_scan_mac.plist3) plist文件的编辑和检查 可使用命令sudo vim ae_scan_mac.plist对文件进行修改。 检查plist文件的语法: plutil ae_scan_mac.plist 若返回OK则表示文件语法正确。 4) 启动服务并载入plsit文件: sudo launchctl load /Library/LaunchDaemons/ae_scan_mac.plist 或者重启Mac电脑也可以。 要留意的是,每次修改完plist文件后必须使用以下命令重新载入plist文件又或者重启电脑,plist的配置才会生效。 sudo launchctl unload /Library/LaunchDaemons/ae_scan_mac.plist sudo launchctl load /Library/LaunchDaemons/ae_scan_mac.plist 接着,检查服务的运行状态: sudo launchctl list5) 最后待脚本运行后,就能在AssetExplorer服务器上看到这台客户机的信息了,之后客户机就会自动按照plist文件设置的时间或者重启机器后将机器信息上传到服务器。

让Mac OS X系统启动时执行脚本的方法(mac如何设置启动系统)

两个文件的部署有几个地方需要注意的:

1)文件的权限必须正确,两个文件所有者必须为root,脚本文件必须有执行权限。2)plist文件的语法必须正确,要留意配置中的程序工作目录和运行参数不要错。可执行:sudo launchctl start /Library/LaunchDaemons/ae_scan_mac.plist强制运行服务,或者直接运行一下脚本程序,测试一下脚本文件的运行是否正常。3)每次plist文件修改后必须执行launchctl unload/load卸载并重新载入plist文件,才能使新的配置文件马上生效。  脚本程序和配置文件分别在多台客户机一次性部署后,AssetExplorer就可以自动收集到所有Mac电脑的硬件和软件信息,即使机器配置更改了也无需手动添加,方便了公司的资产管理。Launchd进程的功能比较强大,Apple推荐并已使用该进程替代传统的cron了,大家有兴趣可以再研究一下。

原文为博主所著,并刊登于《网络运维与管理》杂志..3.4期。

OS X El Capitan 下怎么修复磁盘权限? 当前苹果为Mac发布了最新的OSXElCapitan系统,版本为.。新版本的系统增加了一些新功能,另外对原来系统中的一些功能也进行了改进,特别是今天这里

在Mac OS下使用docker构建基于node的博客程序hexo 截止目前为止,在dockerhub上还看不到hexo3+版本的镜像构建。由于Node环境的安装时间比较长,对于电脑比较多的人相对来说还是比较麻烦的。基于DockerFile

Mac OS X .9 Mavericks系统怎么激活? MacOSX.9Mavericks系统激活方法软件名称:MacOSXMavericksV.9固件苹果电脑版软件大小:4.GB更新时间:--、开启Mac启动系统后可看到如下图2、点击选

标签: mac如何设置启动系统

本文链接地址:https://www.jiuchutong.com/biancheng/352987.html 转载请保留说明!

上一篇:Mac怎么快速关闭显示器?mac关闭显示器快捷键的两种教程(mac快速关闭所有窗口)

下一篇:在Mac OS下使用docker构建基于node的博客程序hexo(macbook如何使用word)

  • 物流企业缴纳哪几种税
  • 车辆购置税会计核算
  • 自动售货机进货渠道
  • 债权投资减值对摊余成本和利息收入的影响
  • 手工发票可以抵增值税吗
  • 员工预支工资账务处理
  • 未认证发票进项税分录
  • 以公司名义办宽带怎么办
  • 个人缴纳工会费可以在工资里面扣交吗
  • 环保费用计入哪个科目
  • 在建工程抵工程款
  • 去年的税金没有计提
  • 没有销项税进项要交税吗
  • 红字专用发票信息表编号在哪儿
  • 货物劳务和应税收入区别
  • 审计报告与汇缴报告
  • 在Win7系统中,文件的属性包括
  • 应收账款贷方余额怎么在资产负债表中填列
  • 收取违约金如何入账
  • 房产税和城镇土地使用税
  • 台式电脑机箱怎么选
  • 企业年报系统怎么进
  • 物业专项维修资金可以退还吗
  • 修改组策略后需要重启吗
  • 费用已付款跨年怎么做账
  • 票据贴现办法
  • 计提税金及附加的金额如何算
  • 季度交企业所得税是按照什么来交的
  • phpshuffle
  • 不符合win11硬件要求安装会怎么样
  • 建筑公司结算会计
  • 仓储服务和不动产租赁
  • 长期应付款的摊余成本怎么计算
  • 个体工商户加盟咖啡店
  • Yii2中添加全局函数的方法分析
  • 合同内容和开票内容不一致
  • 【Pytorch深度学习实战】(11)变分自动编码器(VAE)
  • 卷积核步长公式
  • mm32开发教程
  • python web开发方向的第三方库有哪些
  • unet模型代码matlab
  • 命令default
  • thinkphp环境搭建教程
  • iscan扫描仪使用方法
  • 个人注册投资有限公司
  • 前一个月开的发票怎么查
  • python字典操作 遍历
  • c语言f lf
  • 暂估收入时会有哪些凭证
  • 天猫的费用
  • 报销金额大于发票怎么办
  • 税务师考试的报名时间
  • 发票红冲操作流程
  • 小规模如何缴纳税款
  • 成本法和权益法的相同点
  • 外国常驻代表机构经费支出范围
  • 外商投资有限合伙企业
  • ETC通行费发票抵扣2021新规定
  • 投资收益主要包括哪些
  • 原材料暂估的账务处理
  • 固定成本包括哪些项目
  • 什么企业属于小型微利企业
  • sqlserver游标的使用场景
  • sql server233错误
  • 简单基是什么
  • win8系统如何安装软件
  • 虚拟机怎么安装exe文件
  • 微软安全信息如何替换
  • win7的屏幕键盘
  • win8系统切换桌面
  • 弹窗windows10安装失败
  • 黑白棋手机游戏
  • angular js表达式
  • javascript怎么用
  • django 接收前端的json
  • adb shell命令
  • 主营业务收入占比高说明什么
  • 北京昌平区租房价格
  • 大企业如何做好工作
  • 新疆税务总局网站官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设