NCFTP - Upload recursivo via FTP em apenas uma linha

Publicado por Perfil removido em 09/06/2012

[ Hits: 15.798 ]

 


NCFTP - Upload recursivo via FTP em apenas uma linha



NcFTP é um poderoso cliente FTP de linha de comando disponível para quase todos os sistemas operacionais. Com NcFTP você pode facilmente transferir diretórios inteiros em alguns comandos.

Para aquelas pessoas que tem dificuldades em criar um shell script que copie arquivos e diretórios recursivamente, para um servidor FTP, segue uma simples solução.

Instalando:

# apt-get update
# apt-get install ncftp


Criando arquivo de autenticação:

# vi /usr/local/sbin/.backupserver.cfg

host hostname
user meuusuario
pass minhasenha

Copiando arquivos:

# ncftpput -f /usr/local/sbin/.backupserver.cfg -vZmRF /diretorio-ftp/ /var/www/* 1>/dev/null

Flags:
  • -f : Lê X arquivo com host, usuário e senha;
  • -m : Tenta criar diretório de destino remoto andes de copiar;
  • -R : Modo recursivo, copia um árvore de diretórios inteiro;
  • -v : Modo verbose. Mostra a progressão na tela;
  • -Z : Não tenta retomar a transferência;
  • -F : Usa conexão de dados passiva (PASV).

Para maiores informações:

# man ncftpput
ou:
# ncftpput --help

Adicionar rotina no cron:

# crontab -e

#min  hora    diames  mes     diasem   user  comando
00      23      *       *       *       root ncftpput -f /usr/local/sbin/.backupserver.cfg -vZmRF /diretorio-ftp/ /var/www/* 1>/dev/null

Todos os dias do ano, às 23:00hs, copiar o diretório "/var/www", local, usando ncftp, para: "/diretorio-ftp", no servidor FTP.

Referência:
Outras dicas deste autor

AutoTrace - Rasterizar bitmap para vetor

Burlando urls Invertidas e Codificadas com Firefox

Fazendo o Firefox mostrar as imagens do Orkut

Horário de verão automatizado

sed - Eliminando linhas em branco

Leitura recomendada

md5sum - facilitando sua vida

Projeto Root - Instalando Servidor de FTP no GNU/Linux Debian 8

Servidor seguro de FTP

gFTP x FileZilla

ProFTPD - Enjaulando usuários no diretório HOME

  

Comentários
[1] Comentário enviado por brunoapcs em 19/03/2013 - 14:51h

e como seria esse comando, se eu quisesse pegar uma pasta do servidor remoto, para minha maquina local?

[2] Comentário enviado por removido em 20/03/2013 - 00:07h


[1] Comentário enviado por brunoapcs em 19/03/2013 - 14:51h:

e como seria esse comando, se eu quisesse pegar uma pasta do servidor remoto, para minha maquina local?



# ncftpget -f /usr/local/sbin/.backupserver.cfg -vZRF local-dir remote-path-names...


* Exemplo

# ncftpget -f /usr/local/sbin/.backupserver.cfg -vZRF /tmp/teste/ /testeftp
tar: Este não parece ser um arquivo-tar
tar: Saindo com estado de falha devido a erros anteriores
/tmp/teste/testeftp/teste.txt: 9.00 B 22.54 kB/s
/tmp/teste/testeftp/teste.txt~: 0.00 B 0.00 B/s

No mais....

# ncftpget --help

http://www.ncftp.com/ncftp/



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts