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
Debian 5 Lenny - Iceweasel como Firefox no Orkut e similares
Driver de vídeo alternativo no Slackware 12
Montando leitor de cartões de câmeras fotográficas no Slackware 10.2
Firefox: indo além do "about:config"
Removendo por completo o snappy do Ubuntu 20.04
Leitura recomendada
Servidor FTP ativo no CentOS com o vsftpd
Instalar OpenSSH no Debian Squeeze
Instalação do Proftpd no CentOS
FTP: Como aumentar a velocidade de login no ProFTPd - login rápido
Alterando o Timezone do Proftpd - Slackware 13.1
Comentários
e como seria esse comando, se eu quisesse pegar uma pasta do servidor remoto, para minha maquina local?
[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/
Mensagem
[quote]
[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?[/quote]
# 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
Enviar