2010-08-31 109 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