Geralmente, os clientes da linha de comando ftp
aceitam o arquivo de configuração ~/.netrc
, no qual você pode configurar credenciais para sistemas remotos, por exemplo:
machine legacy.system.example.org
login juser
password keins
Quando você usa ftp legacy.system.example.org
, não precisa mais redigitar essas informações.
Se você precisar fazer mais automação, poderá criar scripts do ftp
usando comandos de piping, por exemplo:
$ cat pushit.sh
# complex logic to set
# EXAMPLE_FILE=
ftp <<EOF
prompt
mput $EXAMPLE_FILE
quit
EOF
Claro, se o sistema não suporta ssh
, ele provavelmente não suporta ftps - mas você pode testá-lo (por exemplo, via ftp-ssl ) se você precisar proteger sua conexão.
LFTP
Uma alternativa a um dos comandos simples ftp
é usar lftp
, pois ele oferece vários recursos para login automatizado e execução de comandos.
Exemplo:
$ lftp -e 'source ~/login.lftp'
$ cat login.lftp
open sftp://juser:[email protected]
cd /path/to/favorite/dir
Observe que este exemplo mostra a autenticação automática de senha para um servidor SFTP que não é suportado pelo padrão OpenSSH sftp client .
A opção -e
instrui o lftp a executar os comandos na inicialização e permanecer interativo.
É claro que esse tipo de script também gera outros scripts e também se desconecta automaticamente do servidor.
Por outro lado, com -c
ou -f
lftp sai diretamente após a execução dos comandos especificados como argumento ou lidos a partir do arquivo especificado.