Transferir arquivo via FTP. Como fazer upload de arquivos via FTP para qualquer servidor. Carregar arquivo para servidor FTP

FTP (File Transfer Protocol) é o protocolo mais popular para transferência de arquivos (download e upload) de um sistema para outro. Isso fornece uma maneira rápida de transferir arquivos. Existem muitos aplicativos disponíveis em Linux e Windows, como VSFTPD, ProFTPD para Linux, FileZilla Server para Windows e macOS.

Existem várias maneiras de se conectar a um servidor FTP usando um ambiente gráfico, mas o administrador do sistema deve conhecer o poder da linha de comando. E neste tópico “Baixar e enviar arquivos via FTP usando o console” vou contar como você pode trabalhar com a linha de comando para transferir/receber dados.

1. Conecte-se a um servidor FTP usando a linha de comando

Para se conectar a qualquer servidor usando a linha de comando, use o terminal.

$ ftp ftp.site

2. Carregar arquivo para servidor FTP

Para fazer upload de um arquivo para o servidor, use FTP put. Primeiro, você precisa ir até a pasta desejada no servidor FTP para fazer upload do arquivo e usar o seguinte comando.

FTP> uploads de cd ftp> put /home/captain/my_file.txt

3. Baixe um arquivo do servidor FTP

Para baixar um arquivo de um servidor FTP, usamos o comando get. Usando este comando podemos baixar um arquivo. Para baixar qualquer arquivo do servidor FTP, primeiro faça login no servidor FTP, depois vá até o diretório e use o seguinte comando para baixar qualquer arquivo:

FTP> obter meu_arquivo.txt

4. Faça upload de vários arquivos para o servidor FTP

Para fazer upload de vários arquivos para um servidor FTP, usamos o comando MPUT. Podemos especificar um curinga para fazer upload de vários arquivos para o servidor ao mesmo tempo. Primeiramente, navegue até a pasta desejada no servidor FTP para fazer upload do arquivo e utilize o seguinte comando. Ele fará upload de todos os arquivos com extensão .txt para o diretório /home/captain para arquivos carregados no servidor FTP.

FTP> uploads de cd ftp> lcd /home/captain/ ftp> colocar *.txt

5. Baixe vários arquivos do servidor FTP

Para baixar vários arquivos de um servidor FTP, usamos o comando MGET. Usando este comando você pode fazer upload de arquivos.

FTP> mget *.txt

Equipes.

!
Sair do shell

?
Imprimir ajuda sobre informações locais

acrescentar
Adicionar ao arquivo

ascii
Defina o tipo de transferência para ASCII. Use isto para transferir arquivos de texto (arquivos HTM).

Sino
Sinal sonoro quando o comando é concluído.

binário
Defina o tipo de transferência como binário. Use isto para transferir arquivos binários (arquivos XE e gráficos).

tchau

CD
Altere o diretório de trabalho remoto (use ".." para mudar para pai).

fechar
Encerre a sessão FTP.

excluir
Exclua o arquivo excluído.

depurar
Mude o modo de depuração.

diretório
Lista (mostra) o conteúdo de um diretório remoto.

desconectar
Encerre a sessão FTP.

pegar
Obtenha um arquivo (veja também mget).

globo
Alternar o metacaractere de extensão do nome do arquivo local.

cerquilha
Alternar a impressão de '#' para cada buffer passado.

ajuda
Mostrar uma lista de comandos.

lcd
Altere o diretório de trabalho local.

literal
Envie um comando FTP personalizado.

eu
Mostre o conteúdo de um diretório remoto.

mdelete
Excluindo vários arquivos.

mdir

obter
Obtenha vários arquivos (veja também obter)

mkdir
Crie um diretório na máquina remota.

mls
Liste o conteúdo de vários diretórios remotos.

mput
Envie vários arquivos (veja também colocar).

abrir
Conecte-se ao FTP remoto.

incitar
Prompt interativo aproximado em várias equipes (esta é uma opção)

colocar
Envie um arquivo (veja também mput).

senha
Imprima a pasta de trabalho (onde você está agora) na máquina remota.

desistir
Encerre a sessão de conexão e trabalhe.

citar
Envie um comando FTP personalizado. Você pode ver uma lista de comandos FTP brutos em www.nsftools.com/tips/RawFTP.htm

receber
Receber arquivo

ajuda remota
Obtenha ajuda do servidor remoto

renomear
Obtenha o arquivo.

rmdir
Exclua um diretório em uma máquina remota.

enviar
Envie um arquivo.

status
Mostrar o status atual.

vestígio
Alternar rastreamento de pacotes.

tipo
Definir tipo de arquivo de transferência

do utilizador
Envie novas informações do usuário.

detalhado
Alternar modo detalhado.

O tópico “Baixar e enviar arquivos via FTP usando o console” foi concluído.

Muitas vezes é necessário automatizar os processos de download, upload e exclusão de arquivos de um servidor FTP. Por exemplo, ao trabalhar com bancos de dados 1C distribuídos ou para salvar cópias de backup. Mas nem todo mundo sabe que esses procedimentos podem ser realizados a partir da linha de comando sem recorrer a softwares adicionais, ou seja, ferramentas do Windows. A seguir fornecerei a sintaxe do comando para trabalhar com FTP, bem como exemplos de arquivos bat para essas operações.

Comando 1.ftp

Para trocar arquivos com um servidor FTP, use o comando ftp, aqui está sua sintaxe:

FTP[-v] [-d] [-i] [-n] [-g] [-s:nome do arquivo] [-a] [-A] [-x:sendbuffer]
[-r:recvbuffer] [-b:asyncbuffers] [-w:windowsize] [nó]

-v Desative a exibição de respostas de um servidor remoto.
-n Desative o login automático na conexão inicial.
-eu Desativando solicitações interativas ao enviar múltiplas
arquivos.
-d Ative o modo de depuração.
-g Desative a globalização do nome do arquivo (consulte o comando GLOB).
-s:nome do arquivo Especifique um arquivo de texto contendo comandos FTP que
será executado automaticamente quando você iniciar o FTP.
-a Usando a interface local para vincular a conexão.
-A Login anônimo no serviço.
-x:enviar sockbuf Substitua o tamanho do buffer padrão SO_SNDBUF (8192).
-r:recv sockbuf Substitua o tamanho do buffer padrão SO_RCVBUF (8192).
-b: contagem assíncrona Substituindo o tamanho do contador assíncrono padrão (3)
-w:tamanho da janela Substitua o tamanho do buffer de transmissão padrão (65535).
Especificando o nome ou endereço IP do nó remoto,
ao qual você deseja se conectar.

Como você pode ver, não existem operadores para conectar-se ao servidor e trabalhar com arquivos. Acontece que este comando apenas inicia a sessão FTP:

!
Transição temporária para o shell.

acrescentar
Adicionando ao arquivo.

ascii
Configurando o modo de transferência para arquivos no formato ASCII.

Sino
Sinal sonoro quando o comando é concluído

binário
Defina o modo de transferência de arquivo binário.

tchau
Encerre a sessão FTP e efetue logout.

CD <удаленный_каталог>
Alterando o diretório de trabalho no computador remoto onde:
<удаленный_каталог> — o nome do diretório que ficará funcionando.

fechar
Encerrando a sessão FTP.

depurar
Alternando o modo de depuração.

excluir <удаленный_файл>
Excluindo um arquivo em um computador remoto onde:
<удаленный_файл> — nome do arquivo a ser excluído.

diretório [ <удаленный_каталог> ] [<локальный_файл> ]
Exibe o conteúdo do diretório do computador remoto, onde:
<удаленный_каталог>
<локальный_файл>

desconectar
Encerrando a sessão FTP.

pegar <удаленный_файл> [<локальный_файл> ]
Obtendo um arquivo onde:
<удаленный_файл>
<локальный_файл> — nome do arquivo no computador local .

globo
Alternando a extensão de metacaracteres de nomes de arquivos locais.

cerquilha
Alterna a saída "#" para cada bloco de dados transferido.

ajuda [ <команда> ]
Exibe informações de ajuda para o comando FTP, onde:
<команда> — O comando cuja descrição será exibida, se não for especificado, todos os comandos serão gerados.

lcd [ <локальный_каталог> ]
Alterando o diretório local do computador em funcionamento, onde:
<локальный_каталог> — O nome do novo diretório local; se não for especificado, o nome do diretório atual será usado.

literal <команда_1> … <команда_n>

<команда_n> — comandos para enviar;

é [<diretório_remoto>] [<arquivo_local>]
Exibe o conteúdo abreviado do diretório do computador remoto, onde:
<удаленный_каталог> — diretório cujo conteúdo será exibido; se não for especificado, o diretório atual será usado;
<локальный_файл> — especifica um arquivo local para salvar na lista; se não for especificado, a lista será exibida na tela.

mdelete<arquivo_remoto_1> … <arquivo_remoto_n>
Excluindo vários arquivos em um computador remoto onde:
<удаленный_файл_n> — nomes dos arquivos a serem excluídos.

mdir<diretório_remoto_1> … <diretório_remoto_n> <arquivo_local>
Imprima o conteúdo de vários diretórios em um computador remoto, onde:
<удаленный_каталог_n> — o diretório cujo conteúdo será exibido;
<локальный_файл> — especifica um arquivo local para salvar na lista; se não for especificado, a lista será exibida na tela.

obter <удаленный_файл_1> <удаленный_файл_n>
Recebendo vários arquivos onde:
<удаленный_файл_n> — arquivo remoto para copiar.

mkdir <удаленный_каталог>
Crie um diretório no computador remoto onde:
<удаленный_каталог> — nome do diretório remoto a ser criado.

mls<diretório_remoto_1> ... <diretório_remoto_n> <arquivo_local>
Imprima o conteúdo abreviado de vários diretórios em um computador remoto, onde:
<удаленный_каталог_n> — diretório cujo conteúdo será exibido; se não for especificado, o diretório atual será usado;
<локальный_файл> — especifica um arquivo local para salvar na lista.

mput <локальный_файл_1> … <локальный_файл_n>
Enviando vários arquivos onde:
<локальный_файл_n> — o nome dos arquivos locais que serão copiados.

incitar
Alternar dica de ferramenta interativa para comandos compostos.

colocar <локальный_файл> [<удаленный_файл> ]
Enviando um arquivo, onde:
<arquivo_local>
<удаленный_файл>

senha
Exibe o diretório de trabalho do computador remoto.

desistir
Encerre a sessão FTP e saia para a linha de comando.

citar <команда>
Envie um comando FTP arbitrário, onde:
<команда> - comando para enviar.

receber <удаленный_файл> [<локальный_файл> ]
Recuperando um arquivo usando as configurações de tipo de arquivo atuais, onde:
<удаленный_файл> — arquivo remoto para cópia;
<arquivo_local> — nome do arquivo no computador local .

ajuda remota [ <команда> ]
Obtendo informações de ajuda sobre comandos em um sistema remoto, onde:
<equipe> — comando do sistema remoto; se não for especificado, uma lista de todos os comandos será exibida.

renomear <имя_файла> <новое_имя_файла>
Renomeando um arquivo remoto, onde:
<nome do arquivo> — nome do arquivo a ser renomeado;
<nome_do_arquivo_novo> — novo nome de arquivo.

rmdir <имя_каталога>
Excluindo um diretório em um computador remoto onde:
<nome_do_diretório> — nome do diretório a ser excluído.

enviar <локальный_файл> [<удаленный_файл> ]
Copie um único arquivo usando as configurações de tipo de arquivo atuais, onde:
<arquivo_local> — nome do arquivo local a ser copiado;
<удаленный_файл> — nome do arquivo no computador remoto.

status
Exibe o status atual da conexão FTP.

vestígio
Alternar rastreamento de pacotes.

tipo [ <имя_типа> ]
Configurando o tipo de transferência de arquivo, onde:
<Digite o nome> — tipo de transferência de arquivo; se não for especificado, o tipo de transferência de arquivo atual será exibido.

do utilizador <имя_пользователя> [<пароль> ] [<учетная_запись> ]
Envie informações para conectar-se a um computador remoto onde:
<Nome de usuário> — nome de usuário para conexão ao computador remoto;
<senha> — senha para o nome de usuário especificado, se não for especificada, mas necessária para conexão, o comando ftp irá solicitá-la ao usuário;
<Conta> — uma conta para conexão a um computador remoto, se não for especificada, mas necessária para a conexão, o comando ftp solicitará isso ao usuário;

detalhado
Mudando o modo de saída de mensagem.


Vejamos um pequeno exemplo.

Primeiro, vamos escrever um “arquivo corporal” que será carregado no servidor local na rede Internet arquivo arquivo_dados.dat de " C:\exemplo". O algoritmo para o arquivo bat será o seguinte:

  • Crie um arquivo transport.txt com uma sequência de instruções FTP;
  • Executamos o comando ftp, especificando o arquivo criado como parâmetros;
  • Exclua transporte.txt.

Neste exemplo, o nome do arquivo e o diretório são codificados no arquivo. Isto nem sempre é conveniente. Vamos modificar o arquivo bat para que ele receba os dados a serem carregados como parâmetros, e também colocaremos todos os valores alteráveis ​​nas variáveis ​​do arquivo. Obtemos o seguinte código ():

Assim, para copiar o arquivo arquivo_dados.dat de " C:\exemplo"para o servidor FTP em" Temp\Backup", você precisará executar este arquivo em lote, especificando o nome do arquivo e os diretórios locais e remotos como parâmetros.

De maneira semelhante, você pode gravar arquivos bat para e em um servidor FTP, bem como um arquivo executável com um conjunto arbitrário de instruções.

Este artigo ajudou você?

Uma conexão FTP é usada para fazer upload de arquivos para o servidor. Pode ser necessário, por exemplo, colocar uma página web ou arquivos de script PHP na Internet.

Para fazer upload de arquivos usando uma conexão FTP, você deve usar um programa especial - um cliente FTP (por exemplo, FileZilla). Antes de enviar arquivos, estabeleça uma conexão FTP com o servidor. Para fazer isso, insira os seguintes parâmetros nas propriedades de conexão do cliente FTP:

  • Endereço do servidor FTP;
  • Nome de usuário;
  • senha.

Os parâmetros de conexão FTP podem ser obtidos no provedor de hospedagem ou configurados de forma independente no painel de controle da hospedagem.

Após conectar-se ao servidor, você verá na janela do cliente FTP uma lista de diretórios e arquivos localizados no servidor. Selecione o diretório onde deseja fazer upload dos arquivos, selecione os arquivos em seu computador e inicie a operação de upload de arquivos para o servidor.

Para que os arquivos possam ser acessados ​​via Internet, eles devem ser carregados no servidor no diretório destinado ao armazenamento desses arquivos. O nome deste diretório deve ser confirmado com seu provedor de hospedagem ou administrador do servidor. Este diretório é frequentemente chamado público_html, www, htdocs ou httpdocs.

Após fazer o upload para o diretório com o nome especificado acima, os arquivos ficam disponíveis na Internet em um endereço como http:// seu site.ru/ nome do arquivo , Onde seu_site.ru- o nome de domínio do seu site e nome do arquivo- nome completo do arquivo com extensão. Por exemplo, se o seu nome de domínio for meudominio.ru, e o nome do arquivo é teste.html, então após o upload para o servidor o arquivo estará disponível em http://meudominio.ru/test.html.

Atenção: nome do diretório público_html, www, htdocs ou httpdocs não está indicado no endereço do arquivo baixado!
  • Quais arquivos armazenam os parâmetros de conexão do banco de dados?
  • Como fazer upload de arquivos para o servidor via FTP?

E pensei: todo mundo sabe que as ferramentas padrão do Windows são suficientes para trabalhar com armazenamentos FTP? Neste artigo, descreverei três métodos simples para transferir arquivos via FTP usando um exemplo. As mesmas técnicas se aplicam em . Tudo que você precisa é do Explorer e da linha de comando.

Método um: Internet Explorer 8

Qualquer usuário da Internet está familiarizado com endereços HTTP para acessar sites, que são inseridos na barra de endereços do navegador - por exemplo, . Os endereços de acesso aos servidores FTP são construídos de acordo com o mesmo princípio: .

Insira seu endereço de armazenamento FTP público, como Microsoft (Figura A), na barra de endereço e clique em . Se a conexão for bem-sucedida, você verá o diretório raiz. Para acessar subdiretórios e arquivos, clique no diretório principal. Para baixar um arquivo, clique com o botão direito sobre ele e selecione a opção “Salvar destino como”.

Como você pode ver, todos os artigos do banco de dados, patches, atualizações, utilitários e documentação da Microsoft são armazenados no servidor, apenas apresentados na forma de uma lista com datas. Informações detalhadas sobre o armazenamento FTP estão contidas nos arquivos "readme.txt".

Figura A. Servidor FTP da Microsoft visto no Internet Explorer 8.

Observação: para conectar-se com êxito a um servidor FTP usando o IE, as opções “Ativar visualização de pasta FTP (fora do Internet Explorer)” e “Usar protocolo FTP passivo (Usar FTP passivo (para compatibilidade com firewall e modem DSL)) na seção Navegação do Guia Avançado da caixa de diálogo Opções da Internet. Você pode chamá-lo no menu “Ferramentas”.

Para acessar servidores FTP privados, você deve inserir um nome de usuário e uma senha (Figura B). Porém, desta forma no IE 7 ou IE 8 você só pode visualizar uma lista de arquivos. Para fazer o download você terá que usar o Explorer (Windows Explorer). Veja a Fig. para detalhes. C, D, E e F.


Figura B: São necessários um nome de usuário e uma senha para acessar servidores FTP privados.


Figura C. Selecione “Página | Abra o site FTP no Windows Explorer" (Página | Abra o site FTP no Windows Explorer) ou "Exibir | Abra o site FTP no Windows Explorer (Exibir | Abrir site FTP no Windows Explorer) para iniciar o Explorer.



Figura D: Na caixa de diálogo Aviso de segurança do Internet Explorer, clique em Permitir.

Eu precisava enviar arquivos de relatórios para um servidor FTP de hora em hora e também duplicar o envio desses arquivos por correio para diversos destinatários. Depois de alguma pesquisa, optei pelo utilitário integrado ftp.exe (C:\Windows\System32\ftp.exe) e pelo bom e velho blat. Então, vamos começar. Precisamos fazer upload de todos os arquivos XML do diretório %dir%\file_export (onde %dir% é o caminho para nossa pasta) para o servidor ftp.server.com a cada hora.
Nova versão em Python

Configurando upload de arquivo para FTP

Crie um arquivo de comando para ftp.exe
Criamos um documento de texto (por exemplo ftpcomm.txt) e escrevemos nele:
Conecte-se
senha
CD IN
binário

tchau
Onde:
Conecte-se- login do servidor FTP
senha- senha para servidor FTP
CD IN- vá para a pasta desejada
binário- defina o método binário para envio de arquivos. Neste caso, o arquivo não é recodificado durante a transmissão e é gravado inalterado. Esta é a maneira mais segura de transferir arquivos.
mput C:\%dir%\file_export\*.xml- copie um ou mais arquivos locais para um computador remoto especificando o diretório
tchau- fim da sessão FTP e saída do servidor FTP
Crie o arquivo export.bat
Escrevemos nele:

Onde:
C:\WINDOWS\system32\ftp.exe- Caminho para o utilitário ftp.exe
-s:c:\%dir%\ftpcomm.tx t - defina o caminho para um arquivo de texto contendo comandos FTP, os comandos serão iniciados automaticamente após o início do FTP.
-eu- desative o modo interativo ao transferir vários arquivos.
ftp.server.com- insira o endereço do nosso servidor FTP.
Verificamos o trabalho executando export.bat. Vemos que os arquivos foram enviados para o servidor FTP. Mas aqui surge um problema: se precisarmos fazer upload de arquivos uma vez por hora, como podemos evitar que os arquivos sejam enviados novamente? A solução é trivial:
Adicione ao arquivo export.bat:
cd /d C:\%dir%\file_export\
del *.xml
Onde:
cd /d C:\%dir%\file_export\- vá para o diretório onde os arquivos XML estão armazenados.
del *.xml- exclua todos os arquivos XML.

Configurando o envio de arquivos por e-mail

Para enviar arquivos por e-mail, usamos o utilitário blat (http://www.blat.net/). Baixe e descompacte em qualquer diretório, no nosso caso é c:\%dir\blat/
Instalação óbvia. Chame a linha de comando. Na linha de comando, vá para nossa pasta:
cd c:\%dir%\blat/
Iniciamos a instalação do blat (registramos o perfil blat no registro, os dados são gravados no registro do sistema Windows na filial: .
blat.exe -install smtp.yandex.ru [email protected] 3 25 perfil [email protected] Sua_senha
Onde:
smtp.yandex.ru- o nome do servidor de e-mail através do qual os e-mails serão enviados.
[email protected]- nome do remetente, que será exibido no campo.
3 - o número de tentativas de reenvio da carta em caso de falha na conexão com o servidor.
25 - Número da porta do servidor SMTP.
perfil- nome do perfil.
[email protected]- nome de usuário que será usado na conexão ao servidor SMTP.
Sua senha- senha usada ao conectar-se ao servidor SMTP, ou seja, senha da caixa postal.

Adicionando envio de e-mails ao export.bat

No arquivo export.bat após a linha
C:\WINDOWS\system32\ftp.exe -s:c:\%dir%\ftpcomm.txt -i ftp.server.com
Nós escrevemos:

Onde:
-p perfil– nome do perfil blat (especificado durante a instalação)
-charset windows-1251(Selecione a codificação do Windows)
-para [e-mail protegido] – endereço do destinatário da carta
-assunto "Exportação de arquivo"- Assunto da carta
-body "Exportação automática"- Corpo da carta
-attach c:\%dir%\file_export\*.xml– arquivos ou arquivo que precisa ser enviado
Se precisar enviar cartas para várias caixas de correio, escreva esta linha várias vezes indicando as caixas de correio do destinatário:
blat.exe -p perfil -charset windows-1251 -to [e-mail protegido]-subject "Exportação de arquivo" -body "Exportação automática" -attach c:\%dir%\file_export\*.xml
blat.exe -p perfil -charset windows-1251 -to [e-mail protegido]-subject "Exportação de arquivo" -body "Exportação automática" -attach c:\%dir%\file_export\*.xml
blat.exe -p perfil -charset windows-1251 -to [e-mail protegido]-subject "Exportação de arquivo" -body "Exportação automática" -attach c:\%dir%\file_export\*.xml

Arquivo export.bat final

Como resultado, obtemos um arquivo export.bat no qual temos as linhas:
C:\WINDOWS\system32\ftp.exe -s:c:\%dir%\ftpcomm.txt -i ftp.server.com
blat.exe -p perfil -charset windows-1251 -to [e-mail protegido]-subject "Exportação de arquivo" -body "Exportação automática" -attach c:\%dir%\file_export\*.xml
cd /d C:\%dir%\file_export\
del *.xml
Na primeira linha enviamos os arquivos para o servidor FTP, na segunda enviamos os arquivos por e-mail, depois vamos até o diretório onde os arquivos estão armazenados e os excluímos.

Envio de arquivos de acordo com uma programação

Deixe-me lembrar que precisamos enviar arquivos de hora em hora, para isso criamos uma tarefa no Windows Scheduler. Onde indicamos que precisamos executar export.bat uma vez por hora.

Resultado final

Como resultado, temos um sistema automatizado de envio de arquivos para um servidor FTP e e-mail a cada hora.