需要有关ssh脚本的帮助

时间:2010-08-31 22:30:37

标签: ssh terminal

我对ssh很新,所以我需要一些帮助来编写一些脚本。我的想法是我将文件分布在远程服务器上的不同文件夹中。我想将某些文件夹复制到同一服务器上的另一个新文件夹中。假设,我知道要复制的文件夹的所有名称,我可以将它们列在文本文件中。如何编写一个脚本,将所有这些文件夹自动转移到我需要的地方?

此外,假设每个文件夹中有一个文件使用个人密码加密。所有密码都是我所知道的。如何编写脚本来自动解密它们?

如果您没有直接答案,可以给我一个关于编写ssh脚本的教程的链接吗?

非常感谢

2 个答案:

答案 0 :(得分:2)

我觉得你可能有点困惑。

SSH是您用来访问远程服务器的工具。

一旦连接到该远程服务器,您看到的提示和命令行界面通常称为“sh”或“bash”,并且是一个shell。

您要找的是shell scripting tutorial。你可以谷歌给其他人,但那个看起来很合理。

最简单的方法是将文件列表转换为脚本。它可能看起来像这样:

#!/bin/sh
for file in a, b, c, d; do
    cp $file firstFolderName
done
for file in e, f, g, h; do
    cp -v $file secondFolderName
done
decrypt secondFolderName/c "myPassword"

显然,解密命令取决于您使用的加密工具。

您可以将其保存到名为myscript.sh的文件中,并使用命令行中的sh myscript.sh执行该文件。您可能需要了解nano,vi或emacs或其他编辑器,以便从ssh终端会话中实际编辑此脚本。

答案 1 :(得分:1)

假设通过SSH表示通过SSH访问bash。

假设文件列表是这样的:

/path/tofile1
/path/to/file/2

你可以这样做:

$ cp `cat listOfInputFiles | xargs` destinationDirectory