Espelhando um site wordpress com o wget

0

Eu estou tentando baixar um site wordpress, meu blog, na verdade, e para obter os arquivos php também. Até agora eu tentei -

wget -rkp -l3 -np -nH --cut-dirs=1 http://www.sharons.org.uk/
wget -r http://www.sharons.org.uk
wget --user-agent=Mozilla --content-disposition --mirror --convert-links - A php -E -K -p http://www.sharons.org.uk/

mas não consigo passar da primeira página index.html.

Como posso fazer isso por favor?

boudiccas
fonte

Respostas:

2

Resposta curta: você não pode, é assim que a internet funciona.

Resposta longa :

Dois fatores tornam o que você deseja impossível, e isso é intencional.

1) Os arquivos PHP não são fornecidos ao cliente, são avaliados no lado do servidor para produzir documentos HTML que são enviados ao cliente. Isso permite que o desenvolvedor mantenha o código fonte do site para si mesmo, o que aumenta a segurança. (Embora o Wordpress, aqui, seja de código aberto)

2) A maior parte do conteúdo do site é armazenada em um banco de dados, que não está mais disponível para você do que os arquivos php (se houver, isso é uma grave falha de segurança), pois também é o servidor que o consulta para produzir o resultado HTML .

Tudo o que você pode fazer é obter uma versão estática do site. O WinHTTPTracker para Windows, por exemplo, permite que você faça isso. Deve haver ferramentas equivalentes para linux.

mveroone
fonte
2

É uma falha geral pensar que um arquivo PHP pode ser acessado com o WGET. Quando você corre

wget -rkp -l3 -np -nH --cut-dirs=1 http://www.sharons.org.uk/
wget -r http://www.sharons.org.uk
wget --user-agent=Mozilla --content-disposition --mirror --convert-links - A php -E -K -p http://www.sharons.org.uk/

ou algo assim, no lado do servidor, muitas coisas acontecem:

  • O servidor da web notifica o PEDIDO de você / wget
  • O servidor web executa php contra index.phpou qualquer outro requisitado
  • PHP consulta o MySQL conforme as instruções dos arquivos php wordpress
  • O PHP retorna aos dados somente HTML do servidor da web
  • Esses dados são retornados ao usuário como o que você vê como a página inicial.

A abordagem correta para o seu problema é

  • SSH no servidor ou faça login na interface de administração (cPanel, WHM, etc.)
  • Arquive ou pegue o public_htmldiretório inteiro ou raiz do seu site
  • Conecte-se ao seu servidor MySQL e faça backup do banco de dados do Wordpress por myqsladmin ou phpMyAdmin

PS: se este é seu próprio blog, como você afirma, credenciais / logins não devem ser um problema

P.S2: como suspeito, você está tentando espelhar o site de outra pessoa sem permissão explícita, e isso está fora do escopo de superuser.com

Desculpe se eu entendi errado

Sir.pOpE
fonte
Desculpe, é o meu site e blog, e eu sincronizo com ele, mas estou apenas tentando aprender como obter os arquivos php também e passar o único index.html.
boudiccas
Ok, entendo, como tento explicar, os arquivos .php nunca são enviados ao usuário no formato RAW, eles são processados ​​pelo próprio processador de hipertexto do PHP. A saída é redirecionada para o usuário. Usando o wget, você se comporta como um usuário comum do site.
26414 Sir SirOpEpE
1

Acabei de fazer semelhante no meu servidor ubuntu .. mas você pode ver se os meus passos podem ajudá-lo com o seu problema .. ok, vamos lá.

Eu tenho LAMP padrão no meu servidor e tive que espelhar o site para godaddy ,, e a maneira mais fácil foi com o wget ,, eu fiz assim:

  • matou meu serviço apache => /etc/init.d/apache2/stop
  • possition meu self para pasta raiz do meu site => cd /var/www/webroot
  • executar servidor python local na porta http => python -m SimpleHTTPServer 80
  • no meu servidor godaddy ssh puxou todo o site => wget -m http://web-site.com

esta bandeira -m é para espelho ,, espelho perfeito .. e funciona :)

Não se esqueça de alterar sua senha do wp-config.php se, entretanto, alguém puxar seu site também para baixo com pars de conexão :)

é isso aí :)

hth, krex

Kresimir Pendic
fonte
0

Você diz no comentário acima que o sincroniza novamente. Em seguida, use o rsync para baixar o site. É o melhor método que eu conheço. Certifique-se de não perder os arquivos .htaccess! Se o seu comando de download usar / * para a fonte, provavelmente perderá os arquivos ocultos; portanto, use / only.

Outros métodos: filezilla ou qualquer outro programa ftp.

SPRBRN
fonte
0

Eu usei um wgetcomando para baixar um espelho de uma loja de comida local para quem estou criando uma simulação, é o Wordpress e recebi o site inteiro, incluindo todas as páginas e itens de menu detalhados que podem ser vistos localmente com links de trabalho, usando o seguinte

wget \
      --recursive \
      --no-clobber \
      --page-requisites \
      --html-extension \
      --convert-links \
      --restrict-file-names=windows $url-of-site

Eu tenho todo o site de cerca de 200 páginas em formato legível html, por isso parece possível.

minimallinux
fonte
Meu wgetdiz Both --no-clobber and --convert-links were specified, only --convert-links will be used.que acho que o comando não é o ideal então.
Kamil Maciorowski
Ainda tem o site inteiro com o wget usando apenas --convert-links?
Minimallinux