lvupdateRegScript 命令

用途

lvupdateRegScript命令用于注册脚本,以便在AIX实时更新操作过程中在通知点执行。

语法

要注册脚本,请使用以下语法:
lvupdateRegScript  -a -n label -s script -d { orig | surr } -P phase -p priority
要注销脚本,请使用以下语法:
lvupdateRegScript  -r -n label -d { orig | surr } -P phase [ -p priority ]
要列示所有已注册的脚本,请使用以下语法:
lvupdateRegScript  -l

描述

可以为其注册脚本的有效阶段如下:

LVUP_CHECK
实时更新 操作开始时执行。 此阶段可确保已执行的脚本确保任何关联服务都已准备好执行 实时更新 操作。
LVUP_PRE
在原始逻辑分区 (LPAR) 上冻结应用程序之前执行。 此阶段允许已执行的脚本在冻结应用程序之前保存所有必需数据。
LVUP_PRE_KERNEL
在原始 LPAR 上冻结应用程序之后但在替代 LPAR 上重新启动应用程序之前执行。 先在原始 LPAR 上执行此阶段,然后在替代 LPAR 上执行此阶段。
LVUP_POST
在重新启动应用程序之后在替代 LPAR 上执行。 将在 chroot 环境中执行这些脚本。
LVUP_ERROR
LVUP_CHECK 阶段或 实时更新 操作的任何后续阶段发生错误时执行。
LVUP_COMPLETE
在完成 实时更新 操作后,在替代 LPAR 上执行。 此阶段包括删除原始 LPAR 和重置替代 LPAR 的 UUID。 针对此阶段注册的脚本是在 chroot 环境中执行的。

实时更新 操作期间,在调用 DR_CHECK 脚本之前,将执行向 LVUP_CHECK 阶段注册的脚本。 对于阶段 LVUP_CHECKLVUP_PRELVUP_PRE_KERNELLVUP_POSTLVUP_COMPLETE,这些脚本按特定优先顺序执行(此顺序在原始分区与替代分区之间有所不同)。 在原始 LPAR 上,顺序从优先级 1 到优先级 10 ,在替代 LPAR 上,顺序颠倒,首先执行优先级 10 ,然后向下执行优先级 1。 对于 LVUP_ERROR 事件,将以相反的优先级顺序执行脚本。

相同的方法适用于其余阶段。

脚本所有者必须指定是否必须在原始 LPAR 或替代 LPAR 上运行脚本。 如果要在原始 LPAR 和替代 LPAR 上都运行脚本,那么必须将脚本注册两次,一次为原始 LPAR 进行注册,一次为替代 LPAR 进行注册。

执行已注册的脚本时,脚本必须返回 0 以指示成功,或者返回非零值(如果脚本失败)。 如果脚本在 LVUP_CHECKLVUP_PRE 事件期间失败,那么 实时更新 操作将失败。

注: 要向 lvupdateRegScript 命令注册的脚本必须存在于下列其中一个文件系统中: //var/usr/opt/tmp

参数

描述
标签 一个最大长度为 80 个字符的字符串,它指定一个用于标识特定脚本的标签。
script 一个最大长度为 1024 个字符的字符串,它指定要执行的脚本。 该字符串必须包含脚本的完整路径以及所有期望的自变量。
phase 一个字符串,它指定下列其中一组阶段:LVUP_CHECKLVUP_PRELVUP_PRE_KERNELLVUP_POSTLVUP_ERRORLVUP_COMPLETE
优先级 (priority) 一个在 1 到 10 范围内的整数,它标识执行脚本时的优先级。

标志

描述
-a 注册要在 实时更新 操作期间执行的脚本。
-d orig | surr 指定要在其上执行脚本的 LPAR:原始 LPAR (orig) 或替代 LPAR (surr)。
-l 列示已注册的脚本和相关联的标签。
-n 标签 指定要与已注册的脚本相关联的标签。
-P 阶段 选择要调用脚本的阶段。
-p 优先级 指定 1 到 10 范围内的优先级。 将按顺序从最高优先级 (1) 到最低优先级 (10) 执行为特定阶段注册的脚本。
-r 注销脚本。
-s script 指定要执行的脚本。

示例

  1. 要列出已注册要在 实时更新 操作期间调用的所有通知脚本,请输入以下命令:
    # lvupdateRegScript -l
  2. 要注册要在 实时更新 操作的 LVUP_PRE 事件期间在原始 LPAR 上执行的脚本,请输入以下命令:
  3. 要注册要在 实时更新 操作的 LVUP_POST 事件期间在替代 LPAR 上执行的脚本,请输入以下命令:
    # lvupdateRegScript -a -n putFiles -s "/opt/myapp/bin/rest_files /var/myapp/data"
                                  -P LVUP_POST -p 10 -d surr
  4. 要除去先前注册为在 实时更新 操作期间调用的脚本,请输入以下命令:
    # lvupdateRegScript -r -n getFiles -d orig -P LVUP_PRE