位置: 编程技术 - 正文

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

  • 地税办理流程
  • 无形资产属于货币性项目吗
  • 小微企业所得税减免政策
  • 财务报表审计的标准
  • 利息收入需要交印花税吗
  • 公允价值变动损益属于当期损益吗
  • 2019城建税减半征收优惠政策解读
  • 企业所得税费用税率
  • 纳税人多缴税款的退还期限
  • 事业单位财政直接支付账务处理
  • 企业所得税季报资产总额怎么填
  • 存货损失会计处理
  • 少缴纳个人所得税的需要付什么责任
  • 出口收取佣金要开发票吗?
  • 利润表所得税费用怎么填
  • 投资性房地产其他综合收益递延所得税
  • 企业无偿借款要缴税吗
  • 工程储备的材料是存货吗
  • 公司收到境外付款的人民币
  • 个人股东企业分红一共需要交多少税
  • 金蝶核算项目明细表
  • 工厂的绿化费进项税额
  • 什么情况下公司可以开除员工
  • 会计凭证传递的原则及基本程序
  • post-secondary program
  • VMware虚拟机中怎么复制粘贴
  • windows 11什么时候
  • rsmsink.exe - rsmsink是什么进程 有何作用
  • 已缴税额比应纳税额多
  • keyemain.exe是什么
  • php 链式调用
  • 增值税的具体内容包括
  • 增值税常见账务处理方法
  • Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流
  • 低值易耗品是怎样的
  • 固定资产是指什么
  • php绘制图片
  • 如何做架构规划图
  • Yii2中DropDownList简单用法示例
  • 收付实现制与权责发生制的例题
  • 其他应付款个人在贷方表示什么
  • 税务局清卡需要公章吗?
  • 当月纳税申报期是什么意思
  • 电算化会计档案论文答辩自述稿
  • 普通发票应怎么开具
  • 投资管理公司成立的请示范文
  • 劳务派遣工资可以税前扣除吗
  • 存货和总账不平如何调整
  • 转账手续费没有发票能税前扣除吗
  • 未交增值税科目怎么用
  • 公司银行开户费用怎么报销
  • 个人所得税财产转让所得税率
  • 销售费用包括什么?
  • 投资收益怎么做帐
  • 发票入账有效期是多长时间
  • 收到转账支票怎么填
  • 折现率的选择主要是根据什么来判断
  • 库存商品属于什么科目
  • win7旗舰版系统激活码
  • win8.1无法进入系统
  • sedsvc.exe是什么
  • 英文版西游记
  • ubuntu16连接wifi步骤
  • vm虚拟机中的网络设置怎么添加
  • u盘启动pe装机工具怎么用
  • 微软正式推送windows11
  • 苹果Mac系统怎么装
  • centos7手册
  • win8打开蓝牙设置
  • win10周年纪念版
  • cocos2dx 教程
  • ecxel进度条
  • jquery输入框改变事件
  • IE6支持position:fixed完美解决方法
  • python 效率优化
  • jquery 插件写法
  • js的模块化可以怎么做
  • python中如何获取列表中位数
  • 税务系统福利
  • 广东税务查询系统
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设