2016-08-14 17 views
-1

スクリプトを作成するのが難しく、サブフォルダを内部に持つフォルダを取得し、他のサーバとssh接続を開き、Axelコマンドを実行してフォルダから各ファイルをダウンロードし、ジョブが完了したらフォルダとファイルを消去します。シェルスクリプトSSH接続を開くコマンドを実行する

インターネット上でこのサーバとフォルダが開かれるとすぐに、Axelを使ってファイルのダウンロードを高速化するふりをしています。

誰でも手伝ってもらえますか?

ありがとう

以下
+1

ようこそスタックオーバーフロー。 [How to Ask](http://stackoverflow.com/help/how-to-ask)と[最小限で完全で検証可能なサンプルを作成する方法](http://stackoverflow.com/help/how-to-ask)を参照してください。 )。 – pah

+1

問題を**正確に**記述してください。これは "あなたのコードを書く"サービスではありません。代わりに、厳密に焦点を当てた質問のデータベースを標準的な回答で構築しようとしています。この幅広い質問は、多数の小さな質問に分解される可能性があります。チャンスは、それらの質問のほとんどが既に質問され、ここで回答されていないとしても多くあります。 –

答えて

0

上記のスクリプト、ホスト、ユーザ名、パスワード、DIRECTORY_PATHでSSH

#!/usr/bin/expect -f 

spawn ssh [email protected]$host bash script_to_run_on_server "$directory_path" 
sleep 2 
expect "password:" { 
    send "${$password}\r" 
} 
interact 

を使用してリモートサーバーに接続するためのスクリプトは、あなたが自分の価値観に応じて交換することができる変数ですされています。

あなたのロジックを'execute an axel command to download each file from the folder, and erase the folder and the files when the job is done'のように表示すると、script_to_run_on_serverに書かれています。

注:ディレクトリは、サーバー環境から読み取り、書き込み余裕があることを確認してください。

+2

もしあなたがプログラムでの使用中に平文のパスワードを渡すことを奨励しなければならないならば、 'expect'でホイールを再発明するのではなく、' sshpass'を提案してみませんか? –

+0

...私は、プレーンテキストのパスワード(つまり、RSAキー)を必要とする質問には何も表示されません。 –

+0

@ CharlesDuffy-私はsshpassを知らなかった。私はそれを介して行くマニュアルページです –

関連する問題