ファイル転送を行う¶
スーパーコンピューティングシステムとPCとの間でファイル転送を行います。 スパコンシステムにログインする が完了していることを前提とします。
sftpによるファイル転送¶
Windowsでは「コマンドプロンプト」、macOSおよびLinuxでは「ターミナル」から sftp コマンドを使用してファイルを転送します。
$ sftp super.sc.imr.tohoku.ac.jp
Enter passphrase for key ‘/home/pc-user/.ssh/keys/id_rsa’:
sc-user@super.sc.imr.tohoku.ac.jp's password:
Connected to super.sc.imr.tohoku.ac.jp.
sftp>
特に指定のない限り、リモートのディレクトリはユーザーのホームディレクトリとなります。
基本的なコマンドを説明します。
コマンド |
機能 |
|---|---|
|
リモート(接続先)のディレクトリの内容を表示します。 |
|
リモートのカレントディレクトリを変更します。 |
|
ローカル(接続元)のディレクトリの内容を表示します。 |
|
ローカルのカレントディレクトリを変更します。 |
|
ローカルのファイルをリモートのカレントディレクトリに転送します。 |
|
ローカルのディレクトリをリモートのカレントディレクトリに転送します。 |
|
リモートのファイルをローカルのカレントディレクトリに転送します。 |
|
リモートのディレクトリをローカルのカレントディレクトリに転送します。 |
|
sftpの使用方法を表示します。 |
|
接続を終了します。 |
注意
putおよびgetコマンドでファイルを転送する際、転送先に同名のファイルが存在する場合は上書きされます。
以下にいくつかの使用例を示します。
ローカルのカレントディレクトリに存在する
test.txtという名前のファイルをリモートに転送する
sftp> put test.txt
Uploading test.txt to /home/sc-user/test.txt
test.txt 100% 16 0.8KB/s 00:00
sftp>
リモートのカレントディレクトリに存在する
testという名前のディレクトリをローカルにコピーする
sftp> get -r test
Fetching /home/sc-user/test/ to test
Retrieving /home/sc-user/test
/home/sc-user/test/test1.txt 100% 1855 39.0KB/s 00:00
/home/sc-user/test/test2.txt 100% 354 6.3KB/s 00:00
sftp>
rsyncによるファイル転送¶
WindowsではWindows Subsystem for Linux(WSL)、macOSおよびLinuxでは「ターミナル」から rsync コマンドを使用してファイルを転送します。
スパコン上のファイルをPCにダウンロードする例
$ rsync -auvHAS --stats sc-user@super.sc.imr.tohoku.ac.jp:/home/sc-user/source_directory /destination_directory
Enter passphrase for key ‘/home/pc-user/.ssh/keys/id_rsa’: your_ssh_passphrase
password: your_password
receiving incremental file list
...
PC上のファイルをスパコンにアップロードする例
$ rsync -auvHAS --stats /source_directory sc-user@super.sc.imr.tohoku.ac.jp:/home/sc-user/destination_directory
Enter passphrase for key ‘/home/pc-user/.ssh/keys/id_rsa’: your_ssh_passphrase
password: your_password
sending incremental file list
...
上の例で使用したオプションを説明します。詳細についてはrsyncのマニュアルをご覧ください。
オプション |
機能 |
|---|---|
|
属性を維持 |
|
更新があるファイルのみ転送 |
|
動作内容を表示 |
|
ハードリンクを保持 |
|
アクセス制御リスト(ACL)を保持 |
|
スパースファイルを維持 |
|
転送完了後に統計情報(ファイル数や転送サイズ)を表示 |