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_CHECK、LVUP_PRE、LVUP_PRE_KERNEL、LVUP_POST
和 LVUP_COMPLETE,这些脚本按特定优先顺序执行(此顺序在原始分区与替代分区之间有所不同)。 在原始 LPAR 上,顺序从优先级 1 到优先级 10 ,在替代 LPAR 上,顺序颠倒,首先执行优先级 10 ,然后向下执行优先级 1。 对于 LVUP_ERROR 事件,将以相反的优先级顺序执行脚本。
相同的方法适用于其余阶段。
脚本所有者必须指定是否必须在原始 LPAR 或替代 LPAR 上运行脚本。 如果要在原始 LPAR 和替代 LPAR 上都运行脚本,那么必须将脚本注册两次,一次为原始 LPAR 进行注册,一次为替代 LPAR 进行注册。
执行已注册的脚本时,脚本必须返回 0 以指示成功,或者返回非零值(如果脚本失败)。 如果脚本在 LVUP_CHECK 或 LVUP_PRE 事件期间失败,那么 实时更新 操作将失败。
注: 要向 lvupdateRegScript 命令注册的脚本必须存在于下列其中一个文件系统中: /, /var, /usr, /opt和 /tmp。
参数
| 项 | 描述 |
|---|---|
| 标签 | 一个最大长度为 80 个字符的字符串,它指定一个用于标识特定脚本的标签。 |
| script | 一个最大长度为 1024 个字符的字符串,它指定要执行的脚本。 该字符串必须包含脚本的完整路径以及所有期望的自变量。 |
| phase | 一个字符串,它指定下列其中一组阶段:LVUP_CHECK、LVUP_PRE、LVUP_PRE_KERNEL、LVUP_POST、LVUP_ERROR 和 LVUP_COMPLETE。 |
| 优先级 (priority) | 一个在 1 到 10 范围内的整数,它标识执行脚本时的优先级。 |
标志
| 项 | 描述 |
|---|---|
| -a | 注册要在 实时更新 操作期间执行的脚本。 |
-d orig | surr |
指定要在其上执行脚本的 LPAR:原始 LPAR (orig) 或替代 LPAR (surr)。 |
| -l | 列示已注册的脚本和相关联的标签。 |
| -n 标签 | 指定要与已注册的脚本相关联的标签。 |
| -P 阶段 | 选择要调用脚本的阶段。 |
| -p 优先级 | 指定 1 到 10 范围内的优先级。 将按顺序从最高优先级 (1) 到最低优先级 (10) 执行为特定阶段注册的脚本。 |
| -r | 注销脚本。 |
| -s script | 指定要执行的脚本。 |
示例
- 要列出已注册要在 实时更新 操作期间调用的所有通知脚本,请输入以下命令:
# lvupdateRegScript -l - 要注册要在 实时更新 操作的
LVUP_PRE事件期间在原始 LPAR 上执行的脚本,请输入以下命令: - 要注册要在 实时更新 操作的
LVUP_POST事件期间在替代 LPAR 上执行的脚本,请输入以下命令:# lvupdateRegScript -a -n putFiles -s "/opt/myapp/bin/rest_files /var/myapp/data" -P LVUP_POST -p 10 -d surr - 要除去先前注册为在 实时更新 操作期间调用的脚本,请输入以下命令:
# lvupdateRegScript -r -n getFiles -d orig -P LVUP_PRE