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. C++ 脑筋急转弯

    最近重新温习一下C++的基础知识,这里给大家分享一下,独痛苦不如众痛苦. 先贴出一段示例代码如下: class CTest{ public: CTest(){ ); }; ~CTest(){ if ( ...

  2. 【转自Testerhome】iOS 真机如何安装 WebDriverAgent

    开始 尽量升级Xcode到最新版,保持iPhone的版本大于9.3 从github上下载代码 git clone https://github.com/facebook/WebDriverAgent ...

  3. bootstrapru软件官网

    一    bootstrap:http://v3.bootcss.com/ 二   起步:http://v3.bootcss.com/getting-started/ 三    全局css样式:htt ...

  4. jQuery Mobile Slider 禁用点击事件

    阿子原创,转载请注明出处. 在使用jQuery Mobile Slider时,发现在页面上下拖动时,很容易不小心触发Slider的点击事件,从而造成误操作.为此需要禁用Slider的点击事件. 官方A ...

  5. rabbitmq:centos7安装与python调用

    1.centos安装rabbitmq 官网下载或者yum list |grep rabbitmq搜索安装,官网是最新的版本 wget http://www.rabbitmq.com/releases/ ...

  6. Windows下安装Selenium

    安装python,建议在官网下载python3以上的版本 安装easy_install,找度娘 安装selenium,在命令行窗口下输入:pip install -U selenium 下载chrom ...

  7. 提取微信小程序“头脑王者”业务逻辑

    产品经理今天让我整理微信小程序"头脑王者"的产品逻辑,花了一天时间在XMind写了写,整理后的内容如图,分享给大家希望大家可以多多点评,互相学习,不知道应该写什么,重要的内容都在图 ...

  8. python的while循环

    age_of_laochuanzhang = 56 conut = 0 while True: if conut == 3: print("输入次数上限") break age = ...

  9. js分享功能

    引用JiaThis的分享功能: 直接在想要放置分享功能的地方加上如下代码即可: <!-- JiaThis Button BEGIN --> <div class="jiat ...

  10. 学习web前端技术的笔记,仅供自己查阅备忘,图片上传预览

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