Нужна помощь с сценарием SSH - PullRequest
0 голосов
/ 01 сентября 2010

Я очень новичок в ssh, поэтому мне нужна помощь в написании некоторых скриптов. Идея в том, что у меня есть файлы, расположенные в разных папках на удаленном сервере. Я хочу скопировать некоторые определенные папки в другую новую папку также на том же сервере. Предположим, я знаю все имена папок, которые хочу скопировать, и могу перечислить их в текстовом файле. Как написать скрипт, который будет автоматически переносить все эти папки в нужное мне место?

Кроме того, предположим, что в каждой папке есть один файл, зашифрованный индивидуальным паролем. Все пароли мне известны. Как я могу написать скрипт для автоматической расшифровки их?

Если у вас нет прямого ответа, можете ли вы дать мне ссылку на учебник по написанию ssh-скриптов?

Большое спасибо

Ответы [ 2 ]

2 голосов
/ 01 сентября 2010

Я думаю, что вы можете быть немного смущены.

SSH - это инструмент, который вы используете для доступа к удаленному серверу.

Как только вы подключитесь к этому удаленному серверу, вам предложатИнтерфейс see and командной строки обычно называется "sh" или "bash" и представляет собой оболочку.

То, что вы ищете, - это учебник по написанию сценариев оболочки .Вы можете использовать Google для других, но это выглядит разумно.

Самое простое, что можно сделать, это просто превратить ваш список файлов в скрипт.Это может выглядеть примерно так:

#!/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 голос
/ 01 сентября 2010

Предполагая, что под SSH вы подразумеваете bash, доступ к которому осуществляется через SSH.

Предположим, список файлов выглядит так:

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

Вы можете сделать:

$ cp `cat listOfInputFiles | xargs` destinationDirectory
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...