sftpコマンドでサーバー間でファイル転送する方法
やりたかったこと
サーバAからサーバBにあるフォルダをダウンロードする。だけ
やりかた
サーバBにsshでログインしてサーバAへrsyncしようとしたがサーバAから外部ネットワークにsshが許可されていなかった。
なのでサーバAからサーバBにsftpで接続してダウンロード
sftp username@hostname # 接続 sftp username@hostname -oPort=ポート番号 # ポート指定で接続 cd ~/www/pathto_directory # サーバBのフォルダの場所(ダウンロード元) lcd ~/www/pathto_directory # サーバAのフォルダの場所(ダウンロード先) pwd # サーバBのカレントディレクトリ確認 lpwd # サーバAのカレントディレクトリ確認 ls # サーバBでlsコマンド lls # サーバAでlsコマンド mget -r * # すべてダウンロード
最近はコマンドラインの扱いに慣れてる人が増えたので当たり前といえば当たり前の作業なんだけど。
慣れてない人だったら1度ローカルのPCに落として再度アップロードとかやると思います
ということでコマンドに慣れておくと案外便利だったりします
ちなみに上記のコマンドの例でもわかるようにローカルのコマンド操作は通常のコマンド操作にローカルの「l」をつけると使えるものが多いのでわかりやすいですね。
以上です