WEB开发网
开发学院操作系统Linux/Unix 系统管理工具包: 使用 SSH 进行分布式管理 阅读

系统管理工具包: 使用 SSH 进行分布式管理

 2008-11-12 08:30:42 来源:WEB开发网   
核心提示: 当然,其效果基本上是相同的,系统管理工具包: 使用 SSH 进行分布式管理(4), 当您希望通过管道进行传输的信息或者命令是远程的,那么使用远程管道方法是非常有用的,通常都会失败(请参见清单 6),清单 6. 编辑一个远程文件失败$ ssh root@gentoo.vm "ema

当然,其效果基本上是相同的。

当您希望通过管道进行传输的信息或者命令是远程的,那么使用远程管道方法是非常有用的。例如,使用清单 5 中的命令,您可以将 ls 与 du 组合使用,以确定不同目录的磁盘使用情况。

清单 5. 确定不同命令的磁盘使用情况

ssh root@gentoo.vm "ls -d /usr/local/* |xargs du -sh "
Password:
4.0K  /usr/local/bin
4.0K  /usr/local/games
4.0K  /usr/local/lib
0    /usr/local/man
4.0K  /usr/local/sbin
12K   /usr/local/share
4.0K  /usr/local/src

在继续将这些技术重新分布到多台计算机之前,这里将介绍一个直接运行远程交互会话的技巧,而无需首先进行登录。

直接的交互会话

如前所述,您可以直接运行许多不同的命令和命令链。SSH 解决方案的优点之一是,尽管命令本身是以远程的方式执行的,但是命令的输入和输出都来源于调用的计算机。您可以将它作为一种在两台计算机(与您希望执行的命令相关)之间交换信息的方法。

您可以执行各种各样不同的命令。然而,因为您直接从命令行运行这些命令,所以对于直接使用该方法所能执行的操作,通常是有限制的。例如,使用上面介绍的这种方法和技术,尝试使用某种编辑器来编辑一个远程文件,通常都会失败(请参见清单 6)。

清单 6. 编辑一个远程文件失败

$ ssh root@gentoo.vm "emacs /etc/amavisd.conf"
emacs: standard input is not a tty

通过强制 SSH 分配一个伪 tty 设备(以便您可以直接与远程应用程序进行交互),就可以解决这个问题。

在多台计算机中运行远程的命令

上一页  1 2 3 4 5 6 7 8  下一页

Tags:系统 管理 工具包

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接