ファイルのダウンロード途中で、何らかの原因によりダウンロードが
中断してしまった場合、サイズが大きいファイルをダウンロードしていたら
最初からやり直すのは、時間のロスが大きくなってしまいます。
そんな時、中断したダウンロードの途中から再開するコマンドとして
FTPコマンドのregetコマンドを使用します。
【この記事でわかること】
・ftp コマンドの REST コマンドでダウンロード再開位置(バイト数)を指定できる
・GET コマンドに続けて REST で設定したオフセットからダウンロードが再開される
・ダウンロード済みバイト数を ls -l などで確認してからオフセット値を設定する
・途中からダウンロードできるのはサーバー側が REST をサポートしている場合のみ
「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
事前準備(途中までダウンロードしたファイルを作成する)
まず、wgetでlinux-2.6.29.tar.bz2ファイルをダウンロードします。
ダウンロードが始まり、3~4秒経ちましたら、「Ctrl」+「C」キーを
入力してダウンロードを中断してください。
[root@Tiger ~]#
wget --no-passive-ftp ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.tar.bz2
--09:01:33-- ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.tar.bz2
=> `linux-2.6.29.tar.bz2'
Resolving ftp.kernel.org... 199.6.1.164, 204.152.191.37, 130.239.17.4, ...
Connecting to ftp.kernel.org|199.6.1.164|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /pub/linux/kernel/v2.6 ... done.
==> SIZE linux-2.6.29.tar.bz2 ... 56579370
==> PORT ... done. ==> RETR linux-2.6.29.tar.bz2 ... done.
Length: 56579370 (54M)
8% [===> ] 4,768,202 591K/s eta 1m 44s
[root@Tiger ~]#
もしダウンロードがうまくいかない場合は、オプションの
「--no-passive-ftp」を外して実行してくださいね。
ファイルの途中からダウンロードする
早速ダウンロードを再開してみましょう!
[root@Tiger ~]#
ftp www.kernel.org ←FTPコマンドでwww.kernel.orgへアクセス
Connected to pub.all.kernel.org.
220 Welcome to ftp.kernel.org.
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (www.kernel.org:root):
anonymous ←「anonymous」と入力します
331 Please specify the password.
←あなたのメールアドレスを入力します
Password:
230- Welcome to the
230-
230- LINUX KERNEL ARCHIVES
230- ftp.kernel.org
230-
230- "Much more than just kernels"
230-
230- IF YOU'RE ACCESSING THIS SITE VIA A WEB BROWSER
230- PLEASE USE THE HTTP URL BELOW INSTEAD!
230-
230-----> If you are looking for mirror sites, please go <----
230-----> to mirrors.kernel.org instead <----
230-
230-This site is provided as a public service by the Linux Kernel
~中略~
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
passive ←「passive」と入力します
Passive mode off.
ftp>
cd /pub/linux/kernel/v2.6/ ←「cd」コマンドでディレクトリを変更します
250 Directory successfully changed.
ftp>
reget linux-2.6.29.tar.bz2 ←「reget」コマンドを実行します
local: linux-2.6.29.tar.bz2 remote: linux-2.6.29.tar.bz2
200 PORT command successful. Consider using PASV.
350 Restart position accepted (4807458).
150 Opening BINARY mode data connection for linux-2.6.29.tar.bz2 (56579370 bytes).
↑ダウンロードが再開されます
226 File send OK.
51771912 bytes received in 65 seconds (7.8e+02 Kbytes/s)
ftp>
bye ←FTPを終了します
もしダウンロードがうまくいかない場合は、「passive」を実行せずに
ダウンロードの再開を行なってください。
regetコマンドは大きなファイルをダウンロードしていて
途中でダウンロードが止まってしまった場合、再開するときに
使用すると非常に便利です。
FTPの途中再開をスクリプトで自動化できますか?
大容量ファイルの転送中断は現場でよく起こります。REST コマンドの仕組みを理解しておくと、転送失敗時に素早く対処できます。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
※
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
暗記不要・1時間後にはサーバーが動く
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 /
詳細はこちら
この記事を書いた人
宮崎 智広(みやざき ともひろ)
株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。
趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。
無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます