Posted on: January 08, 2021 05:35 PM
Posted by: Renato
Categories: linux
Views: 536
Usando o wget para baixar arquivos de um servidor FTP com senha
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:[email protected]_site_qualquer.com
Por fim, caso não queira exibir a senha na linha do comando basta fazer assim:
> wget -m ftp://[email protected]_site_qualquer.com --ask-password
You can the same command by enclosing it with quotes:
wget -r 'ftp://username:password@ip/directoryname'
Exemplo que fiz para buscar uns backups do Mysql que estavam em um ftp.
- arquivo.bat
```
@echo off
SETLOCAL
wget -m ftp://usuario:[email protected]/
ENDLOCAL
```
Espero que tenham gostado e que ajuda a vocês como me ajudou. 😉
Fonte: https://kb.globalscape.com/KnowledgebaseArticle10407.aspx
Donate to Site
Renato
Developer