scriptutil

## 1 功能概述

scriptutil复制脚本到远程机的某个目录,然后在该目录执行脚本。

它的优点就是脚本是non-NSH的脚本。不支持NSH命令,执行起来的效果和runscript命令差不多,都可以将本地脚本在远程机器执行。它不支持并发执行,一般作为Bladelogic的扩展,来执行通用操作系统脚本。

可以直接看使用示例

## 2 使用示例

1 列出脚本库里所有的脚本

cloudexpress# scriptutil -l

EO-Banner                             - check if banner msg is present in banner file

EO-Collect_use_of_privileged_commands - Check if input file contains rules for suid/sgid program files

EO-Command_output                     - Run the command and check the output

……

2 执行脚本库里的脚本

scriptutil -h vm1 -s net_disabled_uucp

3 执行自定义脚本,并指定脚本参数ccc

scriptutil -h vm1 vm2 -s /root/uptime.sh -x ccc

4 指定脚本在远程机暂存的路径

scriptutil -h vm1 -s net_disabled_uucp -d /tmp/nsh

## 3语法

scriptutil [-d dir] [-f file] -h host1 [host2 ...] [-l] [-o file] -s scan [-x arg]

## 4 详细说明

scriptutil命令的目的是在远程服务器执行脚本,而远程服务器上不必存在此脚本(如果远程服务器上存在脚本,则可以直接通过nexec执行)。

scriptutil还支持脚本库(script library)的概念,进而支持操作系统抽象的概念。一个典型的task可能在不同的UNIX系统上有不同表现,但还是想要通过一个节点访问所有平台。

脚本库位于BSA服务器<install_directory>/share/sensors路径下,脚本以操作系统名作为扩展名(比如AIX的是xx.AIX,Linux的脚本为xx.Linux)。这些操作系统扩展脚本会覆盖通用脚本。因此,当要运行一个脚本时,scriptutil按如下规则在服务器上执行脚本:

1 确定远程机操作系统类型

2 在脚本库中根据脚本名,查找带有操作系统扩展名的脚本

3 如果找不到带有操作系统扩展名的脚本

4 复制脚本到远程服务器

5 执行脚本,并把stdout(标准输出)和stderr(标准错误)抓取过来

6 删除复制的远程服务器的脚本

## 5 命令参数

-d dir  默认的脚本暂存路径是/tmp,使用这个选项可指定脚本暂存路径

-f file  通过file文件指定要运行脚本的主机列表(一行一个主机)

-h host1 host2..hostn  指定要运行脚本的主机,以空格隔开

-l [name]  列出脚本库中的脚本,如果指定name的话,将列出匹配name的所有脚本

-o file 默认情况下脚本结果会输出到执行者机器的标准输出,使用这个选项可以指定结果输出到执行者本地机器的某个file中

-s script 指定要运行的脚本。如果脚本存在的话,则会复制到远程机并执行,如果不存在,脚本库会根据操作系统类型进行搜索看是否有默认脚本可供使用。

## 6版权

scriptutil的作者是Thomas Kraus

BSA Network Shell系列-scriptutil命令的更多相关文章

  1. BSA Network Shell系列-nexec命令

    # nexec ## 1 说明:nexec是远程命令接口引擎 ,用于在远程主机执行命令 nexec [-?] [-t term] [-o] [-i] [-l] [-nohup hostname &qu ...

  2. BSA Network Shell系列-nsh命令

    nsh nsh命令软链接到zsh,直接运行nsh可进入Network Shell,所有的Network Shell命令都需要运行nsh进入Network Shell执行 1 使用cd命令访问远程主机和 ...

  3. BSA Network Shell系列-redi命令

    redi ## 1 功能概述 redi将输出重定向到一个文件中 ## 2 语法 redi [-?] [-a] filename ## 3 使用示例 1 将输出重定向到隐式路径所在主机的/tmp/hah ...

  4. BSA Network Shell系列-nlogin命令

    nlogin 1 说明 nlogin 是一种通过RSCD Agent的通信的安全远程登录,使用和NSH工具相同的加密协议.可以作为telnet.rlogin或者ssh的替代工具(假如这些端口或协议禁用 ...

  5. BSA Network Shell系列-nexec | runcmd | runscript | scriptutil的异同

    说明下nexec.runcmd.runscript.scriptutil的异同 相同点: 四者都可以在远程机器执行命令.或者调用脚本. 不同点: nexec支持NSH命令,可以执行远程机的本地命令(非 ...

  6. BSA Network Shell系列-runcmd/runscript命令

    runcmd和runscript ## 1 功能概述 runcmd/runscript:runcmd在一台或多台机器执行Network Shell命令(单个命令),而runscript执行的是脚本,二 ...

  7. BSA Network Shell系列-通过NSH执行Powershell,VBScript或bat files脚本

    参考:Running Powershell, VBScript, or bat files via NSH 如果你直接在NSH命令行执行的话,可以参考我翻译的下面的东东,如果想运行NSH 脚本作业的话 ...

  8. Linux Shell系列教程之(八)Shell printf命令详解

    本文是Linux Shell系列教程的第(八)篇,更多shell教程请看:Linux Shell系列教程 在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中,已经对Shell p ...

  9. Linux Shell系列教程之(十六) Shell输入输出重定向

    本文是Linux Shell系列教程的第(十六)篇,更多Linux Shell教程请看:Linux Shell系列教程 Shell中的输出和输入的重定向是在使用中经常用到的一个功能,非常实用,今天就为 ...

随机推荐

  1. javascript编码标准

    前面的话 编码标准是有争议的.几乎每个人都有自己的标准,但对标准应该是什么样的,则似乎很少能达成共识.但编码标准意味着,通过共同语言和一致的结构,把开发人员从无意义的工作中解放出来.允许开发人员把创新 ...

  2. c#的unity

    1.引用对象 2.在app.config中进行配置 <?xml version="1.0" encoding="utf-8" ?> <conf ...

  3. PE文件简介

    PE文件的全称是Portable Executable,意为可移植的可执行的文件,常见的EXE.DLL.OCX.SYS.COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接 ...

  4. 微信小程序——Now you can provide attr "wx:key" for a "wx:for" to improve performance.

    在官方的swiper(滑块视图容器)中demo代码,运行时会出现Now you can provide attr "wx:key" for a "wx:for" ...

  5. jq交叉轮播图变种【闪一下黑】

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 将控制台信息显示在前台页面的js插件

    在拿出插件之前,先回顾一下apply()的用法,这里和call()做比较. JavaScript中的每一个Function对象都有一个apply()方法和一个call()方法,它们的语法分别为: /* ...

  7. css样式中如何设置中文字体?

    代码如下: .selector{ font-family: SimHei,"微软雅黑",sans-serif; }  注意:加上中文名“微软雅黑”是为了兼容opera浏览器,中文字 ...

  8. 大搜车知乎live中的面试题结题方法记录

    1.HTML&CSS(分别10分) 1. 一个div,宽度是100px,此时设置padding是20px,添加一个什么css属性可以让div的实际宽度仍然保持在100px,而不是140px? ...

  9. 破解附近寝室的Wifi密码

    [系统]运行在VMware虚拟机中的Kali Linux系统.(实测Kali运行在virtualbox中兼容性很差,VMware支持的很好.我认为这正是一个不要迷信开源的例子,多数情况下,大公司的商业 ...

  10. 微信app支付(android端+java后台)

    本文讲解使用微信支付接口完成在android开发的原生态app中完成微信支付功能, 文章具体讲解了前端android如何集成微信支付功能以及后台如何组装前端需要支付信息, 话不多话, 具体看文章内容吧 ...