logo
Published on

Apacheサーバーの"index of"のファイルを全てダウンロードする方法

Authors

Linux Bashプログラミング言語の、wgetを活用し、コマンドライン上からApacheサーバーの"index of"のファイルを全てダウンロードする方法について紹介します。

"index of"の中身を再帰的に全てダウンロードしたいこと、あると思います。

https://stackoverflow.com/questions/23446635/how-to-download-http-directory-with-all-files-and-sub-directories-as-they-appear

wget -r -np -nH --cut-dirs=3 -R index.html http://hostname/aaa/bbb/ccc/ddd/

It will download all files and subfolders in ddd directory: recursively (-r), not going to upper directories, like ccc/… (-np), not saving files to hostname folder (-nH), but to ddd by omitting first 3 folders aaa, bbb, ccc (--cut-dirs=3)

-np と -nH は必要なオプションです。 気をつけるべきなのは、--cut-dir

これの数値の書き方は、取得したいフォルダまでにある、ルートディレクトリを除くフォルダの数です。

http://hostname/aaa/bbb/ccc/ddd/を例にすると、 /ddd/ を再帰的にダウンロードしたいわけですが、 この前に"ホスト/aaa/bbb/ccc"とディレクトリがあります。 この3つのフォルダを、先程のオプションの数値に代入します。