英语法语西班牙语

Ad


OnWorks 网站图标

菜品 - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 Dish

这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令盘,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


盘 - 多主机并行系统管理员的工具

概要


[选项] ... -e 命令 {-G 主机文件 | 主机_1 主机_2 ...}
迪卡普 {-G 主机文件 | -g “用户@host_1 ..."} 本地文件 :远程文件
迪卡普 {-G 主机文件 | -g “用户@host_1 ..."} :远程文件 本地文件

商品描述


dish - 勤奋外壳通过 ssh/rsh/telnet 在多个主机上执行命令,并且
使通过 scp/rcp 分发文件、远程更改密码等变得容易。它可以
以并行模式处理主机。

配置


-h 打印简要描述所有命令行选项的帮助消息

-H, - 帮助
包括示例在内的综合帮助

- 版
打印程序版本和版权信息,然后退出

-V 显示版本号并退出

-C
配置目录 - $HOME/.dish 是默认的; 在这个目录中位于
以下配置文件:“hosts”、“rests”、“pass”和“options”。 使用时,
此选项必须是命令行字符串中的第一个参数,或者是第二个
一个如果选择了“-D”! 或者,可以通过以下方式指定配置目录
定义环境变量 DISH_CONF。

-CC
与“-C”相同,如果未找到本地配置,则回退到默认值; 这意味着,
如果给定目录中不存在文件“pass”、“options”或“rests”,
但此类文件存在于 $HOME/.dish 中,后者将被考虑。 唯一的
例外是“$HOME/.dish/hosts”,它将被忽略。 使用这个选项是
相当于将目录更改为选定的目录,然后执行“dish”。

-c
程序(别名“connector”)及其用于连接远程的选项
主机(s) - 例如`rsh',而产生的进程将是“rsh $host ”。
您的默认连接器是“ssh”。 此外,通过使用相关的基于文本的客户端
作为连接器,可以访问各种主机 - 交换机、数据库等
上。

-e
要执行的远程命令; 它也可以由环境变量 DISH_CMD 设置。

-E
执行命令,其中还指定了连接部分,例如“-E 'ssh $host
date'" 等于 "-e date"。这个选项与 `-c' 和
'-e'。 它也可以由环境变量 DISH_FUEXE 设置。

-t 在 ssh 中强制伪 tty 分配; 这在密码的情况下自动发生
改变。

-T
命令执行超时 - 默认 30 秒(每台主机)

-TT
命令执行的总超时 - 默认 300 秒(所有主机); 这个选项是
仅在按顺序处理主机和总处理时间时有用
不应超过指定的上限。

-x
shell 提示的正则表达式; 这个值指定了哪个提示是
在通过“telnet”、“mysql”登录系统后,在程序的 shell 中预期出现,
`sqlplus' 或其他交互式命令行客户端(参见 `-c')。 默认值
是`(%|\$|#|\>) ?$'。

-X
密码提示的正则表达式; 默认不区分大小写
值`密码:*$'。

-广告
添加新主机密钥的 ssh 提示的正则表达式 - `connecting
(yes/no)?.*' 是默认值

-交流
带有 ssh 提示的答案的字符串以添加新的主机密钥 - “是”是默认值

-g
包含要定位的主机/IP 的/帐户列表的文件; 该命令将在
这些目标。 默认主机文件是 '$HOME/.dish/hosts' - 通常每行第一
形式为“user@host”的帐户(如果您选择 ssh 作为连接器)。 为了
加入列表重复使用该选项。 或者,环境变量
DISH_HOSTS 可用于定义目标主机,而在指定的字符串中
它们必须用空格隔开。 通过将此选项与“-r”或“-i”结合使用
可以定义目标主机/帐户的各种子集。

-r
包含要排除的休息主机/帐户列表的文件; 默认的一个是
'$HOME/.dish/rests'。 “休息宿主”是指将被排除在
目标。 休息主机列表或文件名也可以由
环境变量 DISH_RESTS。

-i
包含与目标主机重叠的主机/帐户列表的文件; 没有
默认文件。 仅重叠主机,例如包含在此列表中且同时
时间定义为目标,将被处理。

-u
用户名 - 默认是您的本地用户名; 也可以定义为
环境变量 DISH_USER。 在内部,该值可由变量访问
$user(参见示例)。 此外,如果形式的帐户是无关紧要的
“user@host”被处理,因为它们已经包含用户名。

-p
登录密码(-p "" = -pp = -a0) - 别名“登录真实”或“a0”; 如果不
需要登录身份验证(没有用户和密码提示出现),然后
使用 `/dev/null' 作为密码。 如果请求用户名,但密码是
空字符串,那么`/dev/empty' 必须作为密码给出。 这的价值
选项也可以是一个密码文件(见`-P')。 最终,人们可以定义
密码由环境变量 DISH_PASS 决定。

-a
用于身份验证的附加密码 (-a "" = -aa = -a1) - 别名 "first
真实的”或“a1”;在生成过程中,如果像`smbmount'、`su'这样的程序,
`ssh' 等要求进行身份验证,a1 密码被传递给它。 这个密码
也可以通过环境变量 DISH_PASS1 设置。

-A
多一个认证密码 (-A "" = -AA = -a2) - 别名“secondAuthentic”
或“a2”; 当一个生成的进程通过 a1 密码进行一次身份验证后,会询问
再次输入密码,然后发送a2。 这个密码也可以由
环境变量 DISH_PASS2。

-n
密码更改时的新密码 (-n "" = -nn = -ne)

-p0 无需身份验证即可登录 - 与 `-p /dev/null' 相同

-p1 将a1-password设置为与登录密码相同; 这个选项不应该
与“-p0”和“-a1”一起使用。 参见示例 d) 波纹管。

-P
带密码的文件; 默认密码文件是“$HOME/.dish/pass”。 肯定是
仅对用户可读(文件模式 600 或 700),否则程序退出
错误,但另请参阅下一个选项。 文件中的每一行都可以保存一个密码条目
形式:“密码:用户名:主机名”,或者
"password:::username:::hostname" 或 "password;;;username;;;hostname"。 一罐
指定由“,”或“;”分隔的主机列表人物。 常用表达
也允许使用主机名(请参阅配置文件中的示例
分配)。

-m 忽略密码文件的访问权限

-s [ ]
主机的顺序处理(默认模式); 如果一个时间间隔(以
浮动秒数)被指定,那么程序正在等待这段时间
在开始处理序列中的下一个主机之前。

-F 在后台生成进程 - 分叉和断开连接; 这样所有的主机都是
基本上是并行处理的! 这是一个非常强大的选择 - 取决于你
RAM大小和内存利用率,处理几个应该不是问题
数百台主机并行。 无论如何,要小心 - 如果你有太多的主机
列表,你可以让你的系统处于负载状态。 背景的标准输出
进程被重定向到“/dev/null”,但是你可以使用“-l”或“-L”来写
输出到文件。 另请参阅手册页中的“错误和已知问题”。

-f 在不与 tty 断开连接的情况下在后台生成进程; 它与'-F'相同
而产生的进程的标准输出被发送到终端。 还有
父进程等待他的孩子完成。 另请参阅“错误和已知问题”
在手册页中。

-q 安静 - 跳过 spawn 和 login 的输出; 使用安全外壳时,它
使用带有“-q”选项的“ssh”也很方便。

-Q 保持安静 - 跳过任何输出

-v 详细(默认) - 覆盖 `-q' 和 `-Q'

-l
将命令输出记录到文件中; 产生的进程的输出被附加到
文件中。

-L
为每个主机写一个单独的日志表示日志的基本名称
文件。 日志文件的全名定义为“ _ 。日志”。

-j 将调用的命令记录到名为“$HOME/.dish/journal”的日志文件中;
它保留已执行命令的历史记录及其执行时间。 一个
唯一标识符与每个命令相关联。

-J 记录调用的命令和生成的进程; 写入
日志文件执行的命令以及产生的单个进程及其
执行时间。

-o
带有传递给程序的命令行选项的文件 - 默认为
'$HOME/.dish/options'; 选项必须写在分开的文件中 - 每个
线。 通过这个文件,可以修改标准配置:set up fork
模式为默认,更改默认连接器,等等。 在工作时
“复制模式”,即通过调用程序为 'dicp','$HOME/.dish/options.dicp' 是
被认为是默认选项文件。

-d 启用expect的诊断输出(看看'man expect')

-D 调试模式(试运行); 打印出环境变量、配置文件名和
命令执行,然后退出。 此选项应作为命令中的第一个使用
线。

示例


您应该考虑评估变量 $host 和 $user。 因此 $host 改变
在产生新进程之前将其值动态地设置为实际的主机/帐户名称。 这
$user 也是如此。

a) 检查主机 192.168.0.1 和 192.168.0.2 上的日期和正常运行时间

菜 -e '日期\; 正常运行时间' [电子邮件保护] [电子邮件保护]

b) 将“.profile”和“.bashrc”分发到“host1”和“host2”上的来宾帐户

菜 -E "scp $HOME/.profile $HOME/.bashrc guest@\$host:" host1 host2

or

dicp -e "$HOME/.profile $HOME/.bashrc guest@:" host1 host2

or

dicp -g "host1 host2" $HOME/.profile $HOME/.bashrc guest@:

or

dicp -g "guest@host1 guest@host2" $HOME/.profile $HOME/.bashrc :

c) 将远程“.profile”文件复制到本地主机上的本地目录中

dicp -g "guest@host1 guest@host2 admin@host2" :.profile .profile.\$host

这里,目标文件(本地文件)的名称将包括远程帐户名称
为了使本地文件具有唯一的名称。

d) 使用“ssh”登录“host1”并从那里复制“.profile”到“host2”

由于主机列表不能为空,因此使用一个虚拟主机来启动
过程。 `-t' 选项对于强制在 `ssh' 中进行伪 tty 分配是必要的,
否则 `ssh' 将在登录时失败并出现错误。 第二个密码(a1-password)是
“host2”上的 scp 身份验证所需:

菜 -a '' -E 'ssh -t user1@host1 scp .profile user2@host2:' dummy_host

如果“user1”和“user2”的密码相同,则只会询问您
如果您使用‘-p1’,则一次用于 user1@host1 的登录密码:

菜-p1 -E 'ssh -t user1@host1 scp .profile user2@host2:' dummy_host

或者等效地,更简单:

菜 -p1 -t -e 'scp .profile user2@host2:' user1@host1

e) 在 /etc/rc.config 中用 `START_XNTPD="yes"' 替换带有 `START_XNTPD=' 的行

此命令在“Hosts.root”中列出的每个主机上以 root 用户身份执行:

菜 -u root -E 'ssh $user@$host "perl -pi -e
\"s/^START_XNTPD=.*\$/START_XNTPD=\\\"yes\\\"/g;\" /etc/rc.config"' -g Hosts.root

f) 冻结终止名单上的用户账户

通过使用名为“FreezeUser.sh”的脚本,在
'Terminate.User.lst' 将在今天 24:00 点在两个服务器组上冻结
在文件“Hosts.1”和“Hosts.2”中定义:

菜 -E 'ssh root@$host "cat Terminate.User.lst | while read UN; do echo \"su -
admin -c \\\$HOME/bin/FreezeUser.sh \$UN\" | at 24:00 ; done"' -g Hosts.1 -g
主机 2

g) 打印自动挂载器的远程配置文件

在主机 192.168.0.1 上以“admin”用户身份登录,切换到“root”,然后 cat 文件
'/etc/auto.net' 并打印出日期。 `-a' 选项使程序询问
你在远程主机上的 root 密码:

菜 -u 管理员 -a '' -E 'rsh -l $user $host su - root -c \"cat /etc/auto.net\;
日期\"' 192.168.0.1

h) 在 Debian GNU/Linux 主机上安装软件包

在 samba 上安装文件服务器后,从那里安装一个 debian 盘包
所有正在运行的服务器,但跳过维护主机。 三个不同的密码是
身份验证需要 - 一个用于登录,下一个用于 su-root,最后一个用于
挂载文件服务器:

碟 -a0 -a1 -a2 -g Debian.up -r Debian.maint -e 'su - -c \"mount -t smbfs
//FILESERVER/Packages.Dir /mnt/smb ; dpkg -i /mnt/smb/dish_1.19.1_all.deb\"'

i) 使用默认的“hosts”和“pass”配置文件检查系统负载 >2

盘 '(正常运行时间 |egrep \" (\[2-9\]|1\[0-9\])\\.\" && 主机名)|粘贴 - -'

j) 查询远程主机 10.0.0.1 上的 MySQL 数据库

菜 -pp -c 'mysql -p -u $user -h' -e '使用 mysql; 显示表格; 描述用户;' -u
根10.0.0.1

k) 同时更改所有主机/帐户的密码

我们假设用户帐户列表包含在文件“Accounts.lst”中,
而列表中的条目采用“user@hostname”形式。 命令后
执行时,首先会要求您输入登录密码(旧密码),然后
对于最终必须正确重新输入的新密码:

菜 -p '' -n '' -e passwd -g Accounts.lst

或者,同时安静地处理所有主机:

碟 -pp -nn -f -Q -e passwd -g Accounts.lst

当您想更改密码并使用“-nn”时,则隐式使用 a1-password
设置为等于登录密码(a0-password)。

l) 从“root”帐户更改密码(不要使用“-a0”选项)

如果您要更改“远程主机”上的 root 密码,请尝试:

菜 -nn -e passwd root@remotehost

与之前相同,但以用户“admin”(登录密码)登录,然后切换到
'root' (a1-password),最后更新 root-password:

菜 -a1 -nn -e 'su -c passwd' admin@remotehost

通过以“root”身份登录后,更改“localhost”上的“admin”密码
`telnet' 是通过以下方式完成的:

碟 -nn -c telnet -u root -e 'passwd admin' 本地主机

请注意,对于密码更改,当 `-p ""'(或等效的 `-a0' 或 `-pp')不是
明确使用,假设`passwd'不会要求旧密码,
如“root”更改密码的情况。 如果您可以登录
没有输入密码的帐户,但是“passwd”提示您输入旧的 -
这种情况发生在使用 ssh 密钥登录时
密码认证。 对于这种情况,正确的选项选择是“-p0 -aa -nn”。

如果'$HOME/.dish' 中的配置文件准备妥当,可以使用dish 作为
用于主机虚拟集群的分布式 shell,并在不指定任何内容的情况下运行它
程序参数,但仅发出命令,例如“dish df -k /”或“dicp”
。轮廓 :'。

作为最后一点,应该注意,在通过密码进行身份验证的情况下,
菜的自动登录过程是基于登录提示发送到的期望
终端将包含不区分大小写的正则表达式字符串`Password: *$'(但另请参见
'-X')。 否则认证过程将失败。

使用 onworks.net 服务在线使用菜肴


免费服务器和工作站

下载 Windows 和 Linux 应用程序

  • 1
    移相器
    移相器
    Phaser 是一个快速、免费且有趣的开放式
    源 HTML5 游戏框架,提供
    WebGL 和 Canvas 渲染
    桌面和移动网络浏览器。 游戏
    可以共...
    下载移相器
  • 2
    附庸引擎
    附庸引擎
    VASSAL 是一个游戏引擎,用于创建
    电子版传统板
    和纸牌游戏。 它提供支持
    游戏块渲染和交互,
    和...
    下载 VASSAL 引擎
  • 3
    OpenPDF - iText 的分支
    OpenPDF - iText 的分支
    OpenPDF 是一个 Java 库,用于创建
    以及使用 LGPL 编辑 PDF 文件和
    MPL 开源许可证。 OpenPDF 是
    iText 的 LGPL/MPL 开源继承者,
    一个...
    下载 OpenPDF - iText 的分支
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - 自动化系统
    地球科学分析 - 是地理
    信息系统 (GIS) 软件
    地理数据的强大功能
    加工和分析...
    下载 SAGA GIS
  • 5
    Java/JTOpen 工具箱
    Java/JTOpen 工具箱
    IBM Toolbox for Java / JTOpen 是一个
    Java类库支持
    客户端/服务器和互联网编程
    模型到运行 OS/400 的系统,
    i5/OS, 哦...
    下载 Java/JTOpen 工具箱
  • 6
    D3.js
    D3.js
    D3.js(或数据驱动文档的 D3)
    是一个 JavaScript 库,它允许你
    生成动态的交互式数据
    Web 浏览器中的可视化。 与D3
    您...
    下载 D3.js
  • 更多 ”

Linux 命令

Ad