位置: 编程技术 - 正文

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

  • 增值税一般纳税人税率
  • 小产权二手房买卖注意些什么
  • 公司买房子可以贷款多少
  • 增值税发票认证在哪里
  • 汽车购置税怎么在手机上缴费
  • 跨区域涉税事项反馈表怎么填
  • 赠送代金券的广告语
  • 工会刻章费用计入什么支出
  • 卷票发票校验码在哪里
  • 免税的开成有税率的怎么办
  • 报关单和进口增值税专用缴款书联系
  • 成品油经销企业税收风险点
  • 购销印花税会计分录
  • 子公司之间可以相互交易吗
  • 有留抵税额要考虑税负吗
  • 个人取得的稿酬收入应该如何计算
  • 所有的进项税都在借方吗
  • 软件企业增值税退税的账务处理
  • 预收账款与预付账款均属于负债
  • 小规模咨询费税率是多少
  • 加计扣除的研发费用范围
  • 政府奖励金额是否要交二次税呢
  • 个人社保缴费允许多少年
  • 收到个税返还手续费怎么开发票
  • 向投资者分配现金股利会计分录?
  • 公务接待和商务接待自查
  • 银行对账单怎么修改
  • 转包工程款怎么结算
  • 苹果推送最新系统
  • PHP:spl_autoload_functions()的用法_spl函数
  • win10任务栏隐藏正在运行的程序
  • 凭证导致账簿错误
  • 没有发票的成本怎么算
  • 辅助生产成本的分配
  • 坏账损失税务处理
  • 企业购进废旧厂房税率
  • 注册资金不能到位怎么办
  • yolov3模型训练
  • 印花税是1%吗
  • elementui的表格
  • 增值税附加税有什么
  • 业务招待费进项转出报表怎么填
  • 净收入是营业收入吗
  • 增值税发票可以重开吗
  • 高效快速编制会计分录如何做?
  • 帝国cms移动端设置教程
  • python访问字符串
  • 主营业务收入未收到钱
  • 公司法人的车租给公司怎么开发票
  • 现金流量表年报期末现金余额
  • 发票认证后总局没信息
  • MSSQLSERVER不同版本设置开启远程连接(sa配置)
  • 在创业板上市公司首次公开发行股票的条件
  • 公司还没有注销但是银行账户已经去注销了
  • 员工预支钱要写什么单据
  • 货款收不回来了怎么做账
  • 房屋租赁合同印花税怎么计算
  • 外经证过期了怎样核销
  • 合同负债包括
  • 开发阶段的支出计入什么科目
  • 固定资产更换配件 资本化标准
  • 资产负债表里的应交税费怎么填
  • 劳务派遣中谁给劳动者发工资
  • 直接成本包括哪些
  • 新建公司需要什么
  • mysql加密解密
  • win8磁盘占用率高怎么处理
  • 如何查看winxp系统的运行内存
  • 安装ubuntu不支持nvidia显卡
  • Ubuntu如何安装vim编辑器
  • win7关闭uac是什么意思
  • unity3d怎么删除模型
  • 3d引擎开发
  • OSG 砖块 shader 例子 GLSL
  • Custom List in inspector, displaying data your way[Unity]
  • shell脚本的实现
  • 信用社股金分红时间
  • 服务收入确认条件有哪些
  • 去税务局补缴税款医疗费不带证件可以吗
  • 低收入个人所得税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设