bashスクリプトのsftpを介してリモートサーバーからマイサーバーにファイルを転送する

bashスクリプトのsftpを介してリモートサーバーからマイサーバーにファイルを転送する

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参照されるファイルで同じコマンドを使用できます。-bsftp

sftp -b somefile [email protected]

ローカルシステムに転送するファイルは現在のディレクトリに配置されます(送信するコマンドで「local」を使用してlcd変更しない限り)。cdsftp

パスワードを入力せずに接続するには、「」の指示に従って公開およびプライベートSSHキーを並べ替えます。スクリプトが自動的にパスワードを取得できるようにするにはどうすればよいですか?」。リモートシステムでは、rootユーザーに対してSSHアクセスが無効になっている可能性が高くなります(これはSSHサーバーを構成する合理的な方法です)。

おすすめ記事