编写LUN保护组一致性脚本

请参见本章节及默认脚本进行LUN保护组一致性脚本编写。

Linux

  1. 以具有管理员权限的用户身份登录生产应用服务器,进入自定义脚本所在的目录。
  2. 编写自定义脚本。

    在自定义脚本编写过程中,推荐通过. "$2/bin/agent_thirdpartyfunc.sh"命令完成脚本初始化,保证脚本中的变量和函数可用。

    完成脚本初始化后,可用变量及函数信息如表1表 函数列表所示。

    表1 变量列表

    名称

    说明

    PID

    唯一标识

    AGENTROOT

    Agent根目录

    BINPATH

    Agent的bin目录

    TMPPATH

    Agent中临时文件目录

    LOGPATH

    Agent日志目录

    LOG_FILE_NAME

    日志文件名字

    RSTFILE

    脚本返回给Agent错误信息的临时文件

    INPUT_PARA_TEMP_FILE

    存放变量的临时文件

    INPUT_PARAMETER_LIST

    存放Agent传给脚本所有变量

    表2 函数列表

    名称

    说明

    应用示例

    GetValue

    获取输入参数“key”的值。

    • 输入参数

      key,表示需要获取的变量名称,如MysqlUser。

    • 输出参数

      ArgValue,表示key对应的值。

    GetValue "${INPUT_PARAMETER_LIST}" key

    username=$ArgValue

    Log

    打印日志信息。

    • 输入参数

      message,表示需要打印的日志信息。

    • 输出参数

      无。

    Log "message"

    Exit

    退出脚本执行并且打印日志。

    • 输入参数
      • 0或者1,表示退出脚本执行的返回码。

        0表示脚本执行成功,1表示脚本执行失败。

      • loginfo,表示需要打印的日志信息。
      • result info,表示返回给Agent的信息。

        当“退出脚本执行的返回码”为“0”时,此参数可为空;当“退出脚本执行的返回码”为“1”时,此参数必须填写,输出返回给Agent的错误信息。

    • 输出参数

      无。

    Exit 1 -log "loginfo" -ret "result info"

  3. 将编写完成的脚本存放在“/home/rdadmin/Agent/sbin/thirdparty/”目录下。
  • 预置脚本存放目录为:/Agent软件包解压路径/sbin/thirdparty/rd_user/
  • 用户自定义脚本存放目录:/Agent软件包解压路径/sbin/thirdparty/
  • 模板脚本存放目录:/Agent软件包解压路径/sbin/thirdparty/sample/

Windows

  1. 以具有管理员权限的用户身份登录生产应用服务器,进入自定义脚本所在的目录。
  2. 编写自定义脚本。

    在自定义脚本编写过程中,推荐通过call %~1\bin\agent_thirdpartyfunc.bat -init %~1 %~2命令完成脚本初始化,保证脚本中的变量和函数可用。

    完成脚本初始化后,可用变量及函数信息如表3表 函数列表所示。

    表3 变量列表

    名称

    说明

    PID

    唯一标识

    AGENT_ROOT

    Agent根目录

    AGENT_BIN_PATH

    Agent的bin目录

    AGENT_LOG_PATH

    Agent日志目录

    AGENT_TMP_PATH

    Agent中临时文件目录

    COMMONFUNC

    公用函数的脚本路径

    PARAM_FILE

    存放变量的临时文件

    RSTFILE

    脚本返回给Agent错误信息的临时文件

    LOGFILE

    日志文件名称

    LOGFILEPATH

    日志全路径

    INPUTINFO

    存放Agent传给脚本所有变量

    表4 函数列表

    名称

    说明

    应用示例

    Init

    脚本初始化。

    • 输入参数

      无。

    • 输出参数

      无。

    call %~1\bin\agent_thirdpartyfunc.bat -init %~1 %~2

    GainValue

    获取输入参数“key”的值。

    • 输入参数

      key,表示获取变量的key。如InstanceName。

    • 输出参数

      无。

    call %COMMONFUNC% "%AGENT_ROOT%" %CMD_GETVALUE% %PID% %LOGFILE% "!INPUTINFO!" "key" DBINSTANCE

    Log

    打印日志。

    • 输入参数

      message,表示需要打印的日志信息。

    • 输出参数

      无。

    call %~1 \bin\agent_thirdpartyfunc.bat -log "message"

    Exit

    退出脚本执行并打印日志。

    • 输入参数

      message,表示需要打印的日志信息。

    • 输出参数

      无。

    call %~1 \bin\agent_thirdpartyfunc.bat -exit -log "message" -ret %RSTCODE% 1

  3. 执行call %COMMONFUNC% "%AGENT_ROOT%" %CMD_GETVALUE% %PID% %LOGFILE% "!INPUTINFO!" "key" var命令获取变量的值。

    key为关键字,var为存放变量值的变量。

  4. 将编写完成的脚本存放在“/home/rdadmin/Agent/sbin/thirdparty/”目录下。
  • 预置脚本存放目录为:/home/rdadmin/Agent/sbin/thirdparty/rd_user/
  • 用户自定义脚本存放目录: /home/rdadmin/Agent/sbin/thirdparty/
  • 模板脚本存放目录:/home/rdadmin/Agent/sbin/thirdparty/sample/

版权所有 © 华为技术有限公司