você está aqui: Home  → Arquivo de Mensagens

O comando ftp e o arquivo .netrc

Colaboração: Marcelo Dunin Beckmann

Data de Publicação: 18 de Março de 2005

Quem usa muito constantemente o comando ftp deve achar incômodo ter que a toda hora digitar o nome de usuário e senha. Em outros casos, tem-se a necessidade de usar o ftp de forma automática em algum script do dia a dia.

Existe a possibilidade de usar a excelente ferramenta expect (http://expect.nist.gov). Mas dia desses lendo páginas de manual, encontrei referências ao arquivo ~/.netrc, e me pareceu muito útil e mais simples de usar.

Por exemplo, a linha:

machine ftp.foo.bar login usuario password senha

faz com que o comando

ftp ftp.foo.bar

efetue a conexão sem a necessidade de se digitar usuário e senha.

Caso se queira informar apenas o usuário, basta deixar a linha

machine ftp.foo.bar login usuario

que nesse caso a senha será solicitada.

Pode-se também definir macros, e caso uma macro de nome init esteja definida, ela será sempre executada após o processo de login. A definição da macro inicia-se com a palavra macdef, e termina após ser encontrada uma linha vazia (dois caracteres de nova linha consecutivos). Isso é útil para executar automaticamente alguns comandos, por exemplo:

machine ftp.foo.bar login usuario password senha
macdef init
bin
tick
ls

Podemos aproveitar essa facilidade do ~/.netrc para uso do ftp em scripts. Por exemplo, um script para atualizar automaticamente os arquivos .html e .jpg:

#!/bin/bash
ftp ftp.foo.bar << EOF
prompt
mput *.jpg
mput *.html
ls
bye
EOF


Veja a relação completa dos artigos de Marcelo Dunin Beckmann