位置: 编程技术 - 正文

让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)

  • 非营利组织免税资格认定申请表
  • 企业利润对外投资 所得税
  • 一次性收取加盟费 所得税
  • 注册分公司独立核算和非独立核算的区别
  • 从企业分红所得税怎么算
  • 特殊性税务处理所得税怎么算
  • 商业承兑过期后多久失效
  • 公司购入小汽车是否可以抵扣
  • 政府补贴是什么职能
  • 包装设置图片
  • 厂房消防安装图
  • 退款给客户怎么记分录
  • 房地产预缴增值税是含税还是不含税
  • 上报汇总和抄报是一个意思吗
  • 全额抵扣有哪些
  • 住宿费的普通发票怎么开
  • 管理费用研发费用科目设置
  • 生产成本和主营业务成本哪个大
  • 产假期间出现事故可以报工伤吗
  • 应收股利属于其他业务吗
  • 私营公司可以构成单位犯罪吗
  • 净资产利润比率计算公式
  • 查看电脑开机时间记录win10
  • bios中英文对照表图新版
  • pnp.npn
  • php精彩编程200例
  • 购销合同印花税税率2023
  • html里写php
  • 新准则委托代建 不得管理费
  • 搬迁收入增值税
  • 什么是工资薪金所得
  • 个人所得税部分缴纳
  • phpmyadmin版本
  • 定额发票丢失了怎么补办
  • php采集源码
  • 职工教育经费是不是教育费附加
  • openpose的输出
  • 利用html css javascript做一个网页
  • 出口退税的一般程序
  • 企业自建房出售给员工个人后还需要缴纳土地使用税么
  • 银行查询余额
  • 未达起征点销售额怎么填申报表
  • 建筑垃圾处置费 南通
  • 收到预付款发票但是货未到怎么办
  • 现金流量表的内部结构怎么算
  • 先前收取的包装费用
  • 如何理解递延所得税资产和负债
  • 建筑业清包工合同范本
  • 发放工资时社保为什么计入其他应付款科目
  • 增值税发票未认证丢失怎么办
  • 财政总预算会计的主体是
  • 票折费用是什么意思
  • 在计划管理中根据事实思考这一步的内容是
  • 高速etc发票如何打印
  • 企业所得税季报营业成本包括哪些
  • 会计凭证的摘要 报销 保险费用
  • mysql存储引擎面试题
  • mysql与sqlyog
  • win7系统怎么用
  • win8系统win10有什么区别
  • gwsloader.exe是什么意思
  • kochsysteme
  • 微软win8.1
  • 如何解决win7系统不稳定
  • win7防火墙在哪设置
  • 自动释放池原理,本质
  • html和js如何应用
  • Node.js中的包管理工具是什么
  • python基本用法
  • Android自定义控件开发入门与实战 百度网盘
  • javascript学习指南
  • jquery使用教程
  • 国家税务总局,湖北省税务局
  • 我们如何理解税收意义
  • 汽车修理厂24小时修理
  • 关于进一步加强工作纪律改进工作作风的通知
  • 注册一个信息咨询公司需要什么
  • 公司收购农民的农产品能贴我公司标签吗
  • 草地耕地占用税征收标准
  • 房地产对外投资契税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设