「wget編」と書きましたが、これが恐らくいちばん便利なので、他のはないかと思います・・・
サーバを移設するに当たり、大量のWebデータなどをどうしようかと悩んでいました。
圧縮して転送・・・を繰り返していたのですが、一部には大容量のデータが置かれている模様。
圧縮だけで数十分が経過しますし、そういうデータの多くは圧縮しても容量が変わりません。
かといって、SCPが簡単に使える環境でもなく(鍵認証+パスワードなのです)、たどり着いたのがこの方法です。
wgetでftpが使えることを知らなかった私。
今更ながらコマンドを見直してみました。
私がやりたいことは、旧サーバのデータを新サーバに移動したい。但し、フォルダ構成・パーミッションはそのままで、というもの。
この場合、
wget -mckb –passive-ftp –preserve-permissions ftp://旧サーバのユーザ名:パスワード@旧サーバのIPアドレス/転送したいフォルダ名
となります。
ちなみにこの場合のオプションは
m : ミラーリングに適したオプションで動作
ミラーリングに適したオプションとは
-r : 再帰的に転送します
-N : ローカルより古いファイルは転送しない
-l : ( Lの小文字) 再帰する深さを指定(この場合は無制限)
c : 既にあるファイルの続きから転送を行う
k : 非相対リンクを相対リンクに変換
b : バックグラウンドで実行します
バックグラウンドで実行する、を指定すると、実行したディレクトリ上に”wget-log”というファイルを作成し、このファイル内に進捗を書き込んでいきます。
これを使えば、ディレクトリのミラーリングなどは簡単にcron化出来そうです。