SFTPファイルのダウンロードをバックグラウンドに送信する方法は?


8

次のことが可能ですか?

  1. リモートマシン上のSFTPのコマンドを実行し、ファイルをダウンロード(ssh user@machinesftp user2@serverget file
  2. 次に、ダウンロードをバックグラウンドに送信して、ローカルコンピューターをオフにできるようにします

私が間違っている場合は修正してください:1)マシンAでローカルに接続しています。2)マシンBのSSHを介して接続します。3)Bのシェルで、マシンCからリモートsftpダウンロードを実行します。4 )次に、マシンAをシャットダウンしますか?
Pavlos G.

A-私のローカルコンピュータ; B-リモートサーバー1; C-リモートサーバー2; 私は入力したくssh user@B、その後、私のA・マシン上sftp user@Cget some_file.tar.gzBのマシン上で、そう、私はリモートBとCランニングを残し、SFTPダウンロードCからBへのファイルとシャット私のAマシンダウンしたい
Praweł

回答:


10

screenマシンBで試して、ダウンロードを開始し、後でデタッチします。

マシンAの場合:

ssh user@B

マシンBの場合:

screen
sftp user@C
get some_file.tar.gz
Ctrl-a d
logout

試したことはありませんが、動作する可能性があります。

編集:後でログインscreen -xして、実行中のセッションに再接続するために使用します。次に、サーバーのリソースを消費しないように適切にシャットダウンします。


できます!おかげでたくさん:)非常に便利なコマンド...
Praweł

また、ubuntuでのファンキーな画面については、byobuを試してみてください。
フィンリー

1

画面の「切り離し」機能だけが必要な場合は、その機能だけを提供する「dtach」と呼ばれるプログラムがあります。


0

文字&(アンパサンド)をコマンドの後ろに置くと、バックグラウンドで実行されます。ただし、コマンドがすでに実行された後の方法や、これがリモートマシンで機能するかどうかはわかりません。


&OKだろうが、私は任意の知らない--password(私のような何かを行うことはできませんので、私は、コマンドラインを通過できるオプションsftp --password=abc user@server:file.tar.gz &
Praweł

0

この問題にはいくつかの解決策があります。

1つのオプションはscreenコマンドを使用することですが、少し複雑に見えます。

私が見つけた最良の方法は、ジョブをバックグラウンドに送ることです。

あなたの場合、コマンドは

scp user@machine:~/filename.ext /tmp &
scp -r user@machine:~/dirname /tmp &
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.