【UNIX】wgetコマンドでウェブサイト(ディレクトリごと)一気にバックアップする方法
2018/08/28
さくらインターネットで公開しているサイトを手元にあるUNIXマシンへ持ってくる必要がでてきました。
今回は小規模なサイトでしたが、WordPress等、CMSで作成されているウェブサイトのバックアップが必要になった場合は大量のファイルをひとつひとつFTPでダウンロードするのは時間が掛かってしまいますし、失敗することもでてきます。
ということで、手元にあるUNIXマシンでwgetコマンドを使って一括ダウンロードしてみたいと思います。
「wget」コマンドの使い方
文法
1 |
wget -オプション (オプション引数) URL |
オプションに続き、URLを指定するだけの簡単設計です。
「wget」コマンド実例
トップページ(index.html)をダウンロードしたい場合
1 |
wget http://example.com/index.html |
【解説】
オプション無しでURLを指定した場合は、指定されたファイルをダウンロードします。
サイト全体をダウンロードしたい場合
サンプル1
1 |
wget -r -l 0 http://example.com/index.html |
【解説】
-r : 再帰的取得
-l 0 (小文字のエル、スペース、数字の0): リンクをたどる階層の指定。「0」は全階層の意味。階層数のデフォルトは「5」です。
サンプル2
1 |
wget -r -l 3 http://example.com/index.html |
サンプル2は、URLを起点としてリンク先を3階層たどってファイルを取得します。
特定のディレクトリのみをダウンロードしたい場合
1 |
wget -r -np -l 0 http://example.com/data/ |
【解説】
-np : 親ディレクトリは無視
まとめ
wgetはFTPだけでなくHTTP経由でもファイルの取得を行えるコマンドですので、自分のウェブサイトはもちろん他人様のサイトもこれでバックアップをとることが出来てしまいます。
あまり感心できない気もするので、そのあたりの使用に関しては自己責任でお願いします。