2010-08-31 86 views
0

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

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

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

非常感谢

回答

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终端会话中实际编辑此脚本。

+0

+1,接过话从我嘴里! – 2010-08-31 22:38:27

1

假设通过SSH您意味着通过SSH访问bash。

假设的文件列表就是这样的:

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

你可以这样做:

$ cp `cat listOfInputFiles | xargs` destinationDirectory 
+0

太好了,非常感谢你们的解释。特别感谢Easel对shell的解释。是的,我对这个词感到困惑。 – chepukha 2010-09-01 17:44:41