Copiar con curl a un FTP de un directorio recursivo

Pues eso, si estás buscando la manera de copiar un directorio completo desde la consola desde linux, en mi caso ubuntu, con el comando curl puedes hacerlo, pero también vas a necesitar otros tantos comandos para complementarlo… por que como ya sabrás si has llegado hasta aquí, curl solo copia 1 solo fichero a la vez…

Para ello utilizaremos la magia de otros comandos como find y el maravilloso exec:

find eldirectorio/ -type f -exec curl --user username:password --ftp-create-dirs -T {} ftp://ftp.server.com/{} \;

Esta sencilla línea, hace varias cosas la primera es buscar con find en el directorio que indicamos a continuación y luego (no tengo ni idea del resto de parámetros) es ejecutar curl como si fuera la copia de 1 archivo, con la historia de que crea los directorios y subdirectorios y va copiando los archivos en su interior

Si además queremos cribar archivos por fecha de modificación, por ejemplo los últimos 5 días o lo de hace 1 mes aproximadamente, podemos utilizar -mtime definiendo -5 para todo lo de hace menos de 5 días o +10, para todo lo que tenga más de 10 dias, pudiendo usar ambos por ejemplo:

find eldirectorio/ -type f -mtime -10 -mtime +5 -exec curl --user username:password --ftp-create-dirs -T {} ftp://ftp.server.com/{} \;

En este ejemplo anterior estaríamos copiando lo que tenga menos de 10 días, pero más de 5.

Todo un comando que me acaba de salvar horas de mirar la pantalla con mi filezilla comiéndose la conexión de casa.

A disfrutarlo 😉

Comments (2)

  • Juan Segovia 21 julio, 2021

    Excelente comando para copiar, mi pregunta es el comando para copiar un listado de archivos con una extension particular como sería

    Reply
    • Carlos Dk 22 julio, 2021

      Si buscas en la ayuda del comando find, encontrarás que puedes utilizar la opción -name, prueba a utilizara un comodín tipo * como harías de forma común en cualquier comando, por ejemplo -name «*.pdf» para que tome solo pdfs.

      No lo he utilizado así, pero supongo que podrá funcionar.

      Ya me cuentas 😉

      Reply

Leave a comment

Sign in to post your comment or sine up if you dont have any account.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Tu software de gestión


Últimas preguntas:

Logo Dkreativo
Vertutoriales