Página 1 de 1

Enviar carpeta por FTP a servidor

NotaPublicado: 2014-09-29 12:39 @568
por enric73
Hola,

¿cómo se enviaría un directorio a un servidor externo por FTP? Actualmente envío fichero txt, CSV, y binarios... con el siguiente código:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/local/bin/perl
  2.  
  3. use Class::Date qw(date now);
  4. use File::Path ;
  5. use DateTime;
  6. use BSD::Resource;
  7. use File::Copy;
  8. use Net::FTP;
  9.  
  10. my $username = "web.com";
  11. my $pwd = "¿Quien sabe?";
  12.  
  13. my $ftp = Net::FTP->new("xxx.xx.xxx.xxx", Debug => 0) or die("No s'ha pogut connectar el servidor: $!");
  14. $ftp->login($username,$pwd) or die("Login incorrecte: $!");
  15. #ACCIONS
  16. $ftp->cwd("html/");
  17. my @arxius = glob("/home/enric/csv/*.csv");
  18. foreach my $File(@arxius){
  19. $ftp->put("$File");
  20. }
  21. my @arxius2 = glob("/home/enric/interpolats/*.png");
  22. foreach my $File(@arxius2){
  23. $ftp->binary();
  24. $ftp->put("$File");
  25. }
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4

Re: enviar folder por ftp a servidor

NotaPublicado: 2014-09-29 12:58 @582
por danimera
Yo estoy haciendo un proyecto similar, para mover todo un directorio, pero uso SFTP, y mira, hay dos opciones: o lo comprimes y lo envías, o te toca enviar fichero por fichero... UNIX tiene el comando cp que también te mueve un fichero de servidor a servidor...

En este caso lo mejor es que lo comprimas o lo envíes uno por uno, o mejor usa un módulo más avanzado, para hacerlo, como puede ser: Net::SFTP o el Net::SFTP::Recursive

Re: Enviar carpeta por FTP a servidor

NotaPublicado: 2014-09-29 13:39 @610
por explorer
El proceso es el mismo que si fuera copiar un árbol de directorios:
  • Para todos los contenidos del directorio
  • Si es un directorio, entrar en él y nos volvemos a ejecutar de forma recursiva
  • Si es un archivo, lo copiamos
  • Una vez terminado de copiar todos, subimos un nivel o termina el programa.
Lo más cómodo, desde luego, es usar un módulo, como el caso de Net::FTP::Recursive.

Re: Enviar carpeta por FTP a servidor

NotaPublicado: 2014-09-29 13:47 @616
por enric73
¡Gracias a los dos!