Todos que conhecem o wget sabem o quanto ele pode ser útil, um canivete suíço na hora de transferir arquivos. E mais uma vez ele foi perfeito para resolver o meu problema.
Normalmente faço o download dos arquivos que preciso assim:
> wget http://um_site_qualquer.com/ebooks/exemplo_de_arquivo.pdf
Caso precise de vários arquivos utilizo a opção -r (–recursive), assim o wget vai trabalhar de forma recursiva:
> wget -r http://um_site_qualquer.com/ebooks/
E se for preciso recomeçar de onde parou é só utilizar a opção -c (–continue):
> wget -c http://um_site_qualquer.com/ebooks/
Agora imagine ter que baixar ou até mesmo mover um site inteito!
Com o parâmetro -m (–mirror) isso é possível, essa opção é um atalho para um grupo de opções tais como: -N –timestamping, -r –recursive, -l inf e –no-remove-listing. Essas opções ativam a recursão, o modo time-stamping, definem a recursão em nível infinito e mantem as listas de diretórios do FTP.
> wget -m ftp://um_site_qualquer.com/htdocs
Agora vem o “pulo do gato”, normalmente esse tipo de acesso, exige usuário e senha. Mas nada que um “man wget” não resolva né.
Na sessão de opções do HTTP temos:
--http-user=USER Define o usuário do http --http-password=PASS Define a senha do http
Na sessão de opções do FTP temos:
--ftp-user=USER Define o usuário do ftp --ftp-password=PASS Define a senha do ftp
E na sessão geral temos os parâmetros que podem ser usados para os dois casos:
--user=USER Define o usuário do ftp e http --password=PASS Define a senha do ftp e http
Um modo mais enxuto de escrever é esse aqui:
> wget -m ftp://USER:PASS@ftp.um_site_qualquer.com
Por fim, caso não queira exibir a senha na linha do comando basta fazer assim:
> wget -m ftp://USER@ftp.um_site_qualquer.com --ask-password
Espero que tenham gostado e que ajuda a vocês como me ajudou. 😉