RCM 脚本可以为以下任一脚本:
RCM 守护进程运行的可执行 shell 脚本(Perl、sh、csh 或 ksh)或二进制程序。Perl 是建议使用的语言。
通过使用脚本文件所有者的用户 ID 在其自身的地址空间中运行的脚本。
使用 cfgadm 命令动态重新配置系统资源时,由 RCM 守护进程运行的脚本。
动态移除设备时,可以使用 RCM 脚本从应用程序中释放该设备。如果设备当前已打开,RCM 脚本还会关闭该设备。
例如,磁带备份应用程序的 RCM 脚本可以通知磁带备份应用程序关闭磁带机或磁带备份应用程序。
按如下方式运行 RCM 脚本:
$ script-name command [args ...]
RCM 脚本可执行以下基本步骤:
通过命令行参数获取 RCM 命令。
执行该命令。
将结果作为名称-值对写入 stdout 中。
以适当的退出状态退出。
RCM 守护进程每次运行一个脚本实例。因此,如果某一脚本正在运行,则在该脚本退出之前,RCM 守护进程不会运行该脚本的其他实例。
必须在 RCM 脚本中包含以下 RCM 命令:
scriptinfo-收集脚本信息
register-注册重要资源
resourceinfo-收集资源信息
可以包括以下某些或所有 RCM 命令:
queryremove-查询是否可以释放资源
preremove-释放资源
postremove-提供资源移除后的通知
undoremove-撤消在 preremove 中执行的操作
有关这些 RCM 命令的完整说明,请参见 rcmscript(4) 手册页。
动态移除设备时,RCM 守护进程将运行以下命令:
脚本的 register 命令,用于收集脚本中标识的资源(设备名称)的列表。
脚本的 queryremove 和 preremove 命令,在移除资源之前运行,前提是脚本的已注册资源受到动态移除操作的影响。
脚本的 postremove 命令,前提是移除操作成功。但是,如果移除操作失败,RCM 守护进程会运行该脚本的 undoremove 命令。
下表显示了可存储 RCM 脚本的位置。
|