wput upload wget ftp

O comando wput em 5 exemplos

O comando wput é uma versão do wget — só que ele faz o contrário: em vez de downloads, o wput faz uploads de arquivos pro servidor FTP, com a mesma eficiência e simplicidade. Se você já usa o wget para agilizar os seus downloads, vale a pena conhecer e usar o wput para fazer os seus uploads.
feat rede network-grayEu incluo o wput entre as ferramentas essenciais para quem trabalha com atualização de páginas na Internet — seja webdesigner ou programador web.
O wput é um cliente robusto para conexões FTP. Trabalha sem a necessidade de interação do usuário e pode rodar em background. Pode subir de um simples arquivo a diretórios inteiros pro servidor.
Se você tem problemas com a estabilidade de suas conexões, o wput foi feito pra você — ele tem suporte a retomada de downloads (resuming), ou seja, ele continua o trabalho, de onde parou.
Você pode, ainda, restringir a taxa de transferência dos arquivos, para evitar sobrecarga na sua rede. Ele é um excelente aplicativo para estar dentro de um script que transfira seus backups de um servidor a outro.

Como usar o wput

A sintaxe do comando é simples e intuitiva. Você deve informar os arquivos ou diretórios que serão enviados, nome do usuário ftp, sua senha, endereço do servidor e o diretório que irá receber os arquivos. Veja um exemplo da sintaxe:

wput arquivos_de_origem ftp://nome_de_usario:senha_de_usuario@meuservidor.com.br/diretorio_destino/

Vamos supor que eu deseje enviar os arquivos da pasta /var/www/html/ para a pasta /public_html, pro servidor fordlandau.net. Veja como fica:

wput /var/www/html/ ftp://a1308311:Grujz437@fordlandau.net/public_html/

Note que no exemplo acima, o nome do usuário é a1308311 e sua senha é Grujz437.
Faça um teste, para ver como funciona para você, alterando os nomes para aqueles que se adequam à sua situação.

Verbosidade

Embora eu use o wput para atualizar sites e transferir arquivos de backup, nem sempre sinto necessidade de conferir o que está sendo feito o tempo todo.
Deixar uma janela, em um canto da tela, em um dos monitores, mostrando o upload é uma boa opção. Neste caso, gosto de usar o parâmetro --less-verbose, desta forma:

wput --less-verbose * ftp://a1308311:Grujz437@fordlandau.net/public_html/

Use os coringas

Note que o *, no exemplo anterior, significa “todos os arquivos dentro do diretório atual”.
Você pode usar livremente os coringas. Se quiser subir apenas os arquivos PHP, use *.php.
O comando admite a flexibilidade de transferir vários tipos de arquivos, assim:

wput *.php *.html *.css ./includes/*.php ftp://a1308311:Grujz437@fordlandau.net/public_html/

Pra quem já está acostumado a usar coringas, é simples assim.

Faça a transferência com mais discrição

Se você não deseja obter qualquer atualização visual do andamento dos uploads, pode usar a opção --quiet e, ainda pode jogar o comando “pros bastidores”, com a opção &, do Linux, ao final da linha de comando. Veja como:

wput --quiet * ftp://a1308311:Grujz437@fordlandau.net/public_html/ &

O wput tem uma opção melhor do que esta, com a opção --background — que joga a execução “pros fundos” e grava os resultados no arquivo de log ./wputlog, onde você pode verificar o que ocorreu (ou está ocorrendo) durante a transferência. Veja um exemplo:

wput --background * ftp://a1308311:Grujz437@fordlandau.net/public_html/

A qualquer momento você pode ler o arquivo de log da transferência:

less ./wputlog

Como retomar uploads incompletos

Você pode interromper o envio de arquivos a qualquer momento — basta teclar Ctrl + C — e retomar o trabalho no ponto em que ele parou, mais tarde.
O resuming é o comportamento padrão do wput. Contudo, se quiser, você pode pedir para ele começar o trabalho todo de novo. A opção --reupload faz a transferência dos dados, mesmo que já tenham sido transferidos:

wput --reupload --less-verbose * ftp://a1308311:Grujz437@fordlandau.net/public_html/

Limite o uso de banda nos uploads

Para evitar “incomodar” outros usuários e aplicativos na rede, você pode limitar o consumo de banda do wput com a opção de comando --limit-rate.
Se você quiser limitar o uso da banda para 14 mil bytes, pode usar o comando assim: --limit-rate=14K. Veja um exemplo:

wput --limit-rate=15K --reupload --less-verbose * ftp://a1308311:Grujz437@fordlandau.net/public_html/

É importante frisar que o controle do uso da banda é feito pela média do uso. Ou seja, se você estabelecer um limite de 5K e, por conta da lentidão na rede, o wput só conseguir usar 2K, assim que lhe for possível, ele vai usar mais do que o limite de 5K, até restabelecer a média de 5K.
Portanto, não se espante com uma provável oscilação nestes números.

Parâmetros mais comuns de uso do wput

Agora que você já sabe usar o wput, caso precise, pode voltar a esta página e ir direto pra tabela abaixo, onde vou dar uma explicação geral e rápida sobre as opções do comando.

Opção longa Opção curta Descrição
–less-verbose -nv reduz “um pouco” o output do comando, mantendo o usuário informado do básico
–quiet -q desliga a verbosidade do comando. A opção contrária é o --verbose ou -v
–background -b opera “nos bastidores” e guarda as informações, por padrão, no arquivo ./wputlog
–limit-rate -l as duas opções divergem ligeiramente no uso: --limit-rate=tx ou -l tx — em que tx é o valor da taxa acompanhado da unidade, que pode ser K (KiB) ou M (MiB)
–reupload -u ignora a presença dos arquivos já transferidos e os reescreve. Refaz o upload. O padrão do wput, é a retomada no ponto em que parou na última vez e ignorar os arquivos que já foram transferidos e não sofreram alterações
–tries -t em conexões instáveis, com constantes quedas, você pode especificar um número de tentativas para cada transferência malsucedida. O padrão do aplicativo é -1, ou seja, número ilimitado de tentativas

conclusão

Para concluir, eu gostaria de fazer uma nota rápida sobre optar ou não pelo uso da versão “longa” ou curta ao escrever o comando.
Para usar um exemplo, a opção curta de --less-verbose é -nv — ambas fazem a mesma coisa.
O uso da opção curta serve para nos poupar tempo, no dia a dia. Dentro de scripts, contudo, tenha em mente que você pode levar meses ou anos para querer alterar seus códigos. É por isto que usamos comentários nos nossos scripts. O uso da versão mais longa ajuda a entender melhor o código que você escreveu meses atrás.
No final das contas, o uso das versões mais longas tornam a linha de comando autoexplicativa, poupando seus scripts de linhas e linhas de comentários.
Por fim, recomendo dar uma olhada na página do manual do comando: man wput — onde mais informações podem ser encontradas.
Como sempre, sinta-se à vontade para comentar e, se achar que o texto lhe foi útil, compartilhe o conhecimento com outras pessoas.
Divirta-se! 😉

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia. Fã de séries, como "Rick and Morty" e "BoJack Horseman". Me siga no Twitter e vamos trocar ideias!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *