web-dev-qa-db-ja.com

wgetを使用してサイトを静的サイトにミラーリングする

次のコマンドを使用してDrupal 6サイトを静的サイトとしてアーカイブする必要があります。残念ながら static Drupal 7 のジェネレーター。6ではありません。問題があるようです。

  1. 異なる役割としてログインすることにより、wgetコマンドは完全に異なるディレクトリ構造をプルダウンします。これは予期せぬことではありませんが、管理者として、権限の少ないアカウントでプルダウンされたコンテンツがかなり不足している場合があります。
  2. メインページのリンクは個別のブロックにあり、そのディレクトリとページは、管理者を含む任意のロールでログインしてもファイルディレクトリ構造にプルダウンされません。

これまでのところ、サイトを(上記の制限付きで)ミラーリングすることに成功しましたが、コマンドが実際にサイト全体をミラーリングする必要があるかどうかはわかりません。これがwgetに使用しているコードです。

wget --mirror -w 2 -p --convert-links --load-cookies cookies.txt -e robots=off https://url.org/user

cookieファイルは次のように作成されます。

wget --save-cookies cookies.txt --post-data 'name=MY_USERNAME&pass=MY_PASSWORD&form_build_id=FORM_ID&form_id=user_login&op=Log+in' https://url.org/user

私はDrupalを初めて使用するので、役割と権限、またはコンテンツの構造がwget mirror操作にどのように影響するかはわかりません。任意の提案をいただければ幸いです!

4
Kate

この問題は、「ログアウト」ブロックがメインサイトのヘッダーにあるという事実に関係しているようです。その結果、wgetが物事を引き出そうとしたとき、実際にはログアウトリンクに移動するため、残りのファイルはログイン画面を表示するか、ダウンロードされません。ログアウトブロックを無効にすることでOR wgetコマンドに--reject logoutを追加すると、問題が修正されたようで、完全なディレクトリ構造がダウンロードされています。使用したコマンドは次のとおりです。

wget --mirror -w 2 -p --convert-links --load-cookies cookies.txt -e robots=off --reject logout https://url.org/user
1
Kate
wget -mnH -k --html-extension https://example.com

私はCookieを設定していませんが、これは私が通常Webサイトをミラーリングするために実行するものであり、うまく機能します。 HTML拡張が必要な​​い場合は、最後の部分をサブできます

0
Ryan Hartman