bashスクリプト(別のコマンドではない)からsftp / ftpを介してリモートサーバーからマイサーバーに大容量ファイル(1.3G)を送信したいと思います。
例:私のサーバーIPは10.10.10.1、リモートサーバーは10.10.10.2です。 sftp root / 123456(ユーザー+パスワード)を使用してリモートサーバーに接続します。
詳しくはお知らせください。
ベストアンサー1
sftp
コマンドは標準入力または「バッチファイル」から読み取ることができます。
たとえば、リモートホストからファイルをインポートするには、次のget
コマンドを使用できます。
echo 'get /path/to/file' | sftp [email protected]
または、ここのドキュメントを使用してコマンドを次に渡すこともできますsftp
。
sftp [email protected] <<'END'
get /path/to/file
END
または、次のコマンドラインオプションを使用してget
参照されるファイルで同じコマンドを使用できます。-b
sftp
sftp -b somefile [email protected]
ローカルシステムに転送するファイルは現在のディレクトリに配置されます(送信するコマンドで「local」を使用してlcd
変更しない限り)。cd
sftp
パスワードを入力せずに接続するには、「」の指示に従って公開およびプライベートSSHキーを並べ替えます。スクリプトが自動的にパスワードを取得できるようにするにはどうすればよいですか?」。リモートシステムでは、rootユーザーに対してSSHアクセスが無効になっている可能性が高くなります(これはSSHサーバーを構成する合理的な方法です)。