FTPサーバからファイルを一括転送

2013/03/04 | その他

FTPクライアントを使いたいわけではなくてコマンドライン上での話。

サーバのデータを別サーバに移行する。移行元がレンタルサーバ、移行先が専用サーバ。

ファイルが数十MBとか、小さなウェブサイトなら、GUIなFTPクライアントで一旦ローカルディスクに保存して、移行先サーバにアップロードすればいい。でも、さすがにGB単位の量になると、それはとっても面倒な作業だ。なので楽をする方法を考える。

一番簡単な方法はrsyncだけど、レンタルサーバでは当然そういうサービスはない。必然的にFTPとなるわけだが、コマンドラインでmgetするとしても、移行元がディレクトリで階層構造をとっている場合、コマンド一発では取得することができない。

そんな時に素晴らしいのがwget。ウェブページ取得とかファイルダウンロードとかでしか使ったことなかったけど、FTPクライアントにもなる。以下のコマンドを実行すれば、指定したディレクトリを一括で(再帰的に)ダウンロードしてくれる。

wget -mc ftp://user:password@host/path/to/target/

-m
とっても便利なオプション。ミラーリングができちゃいます(指定したディレクトリをごっそり頂きます)。

-c
とっても便利なオプション。レジュームができます(途中転送に失敗してもやり直してくれます)。

これでひとつのお仕事の問題点全てクリア。次のお仕事に移ります。


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net