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
とっても便利なオプション。レジュームができます(途中転送に失敗してもやり直してくれます)。
これでひとつのお仕事の問題点全てクリア。次のお仕事に移ります。