Noticia Enviar un archivo a un FTP con un solo comando

Ya vimos cómo conectarnos a un servidor FTP y trabajar con él (o con su contenido) mediante la terminal, o sea, sin hacer uso de aplicaciones gráficas.

Esta vez les traigo un plus o extra … me explico.

Hace algunos años les dejé un script en bash que sirve para hacer backups (salvas) de datos de un servidor. El script copiaba una serie de carpetas (como /etc/), exportaba bases de datos, etc… y lo comprimía con password en un archivo .RAR o .7z (actualmente uso 7z), lo único que le faltaba al script era poder subir después ese archivo comprimido a algún servidor FTP, de esta forma la salva del servidor estaría copiada en otra locación.

En estos días retomé el script para optimizarlo un poco, mejorarlo y obviamente saltó a la luz la necesidad de esto último que les comenté, subir el archivo de salva comprimido a un FTP externo.

¿Subir a un FTP con un solo comando?


Lo que necesitaba era mediante un solo comando conectarme a un FTP con usuario y password, y bueno; subir el archivo hacia una carpeta en específico.

Aplicaciones en terminal que me permiten conectarme a un FTP, poner user & password y subir archivos hay montones, pero … que me permiten hacer esto todo en una línea, con todos los parámetros ya especificados …. eh ahí la cuestión.

Después de revisar 4 o 5 … pensé, eh!! … pero existe curl

curl para solucionarnos el día


Con curl puedo hacer infinidad de cosas, tal vez puedo hacer esto que deseo … y, así es!

Con el parámetro -u puedo especificar el usuario y password, además con el parámetro -T puedo indicarle que suba un archivo, y finalmente para decirle a qué FTP y qué carpeta deseo subirlo, al final simplemente pongo la ruta completa, más o menos así:

curl -u usuario:password -T archivo-backup.7z ftp://192.168.128.2/SERVER_BACKUPS/

Esto lo que hace es conectarse al FTP 192.168.128.2, con el usuario usuario y de contraseña password y subir a la carpeta SERVER_BACKUPS el archivo llamado archivo-backup.7z

Y listo!

¿simple no? …

Claro, esto nos puede ser de utilidad así el comando en solitario, no obstante como mejor se puede aprovechar es con un script como por ejemplo… el que les comenté antes

¿y qué onda con ese script que se menciona?


Le estoy haciendo mejoras al script, sobre todo incorporando algunas peticiones o sugerencias de usuarios.

  • Lo primero que quise hacer era precisamente esto que recién les expliqué, con un solo comando poder subir el archivo de salva a un FTP.
  • Lo otro que un usuario me recomendó fue que enviara un email cuando estaba listo el backup, para eso puedo usar sendmail o un script externo, preferiblemente usaré sendmail. El detalle de usar sendmail es que se puede usar nuestra cuenta de GMail (o cualquier otra) para enviar el email, con cifrado… SSL y lo que sea.
  • También, un usuario me recomendó que también, como una forma de notificación más dinámica, se enviara un mensaje por IM usando el XMPP de GTalk o el de Hotmail (Live o algo así, ya ni sé cómo se llama). Lo intentaré hacer con GTalk primero, pues para Hotmail tendría que recordar o apoyarme en algún sitio para crear una cuenta Hotmail, pues con tanto cambia-cambia que los de Microsoft se tienen, ya ni idea de cómo es.
  • Otra variante de esto último sería usar notificaciones o mensajes que se envíen por Facebook o Twitter. Para Twitter podría usar Twidge mientras que para Facebook podría usar fbcmd. Ambas aplicaciones me permiten interactuar con estas redes sociales desde la terminal.
  • Estoy también pensando en comprobar la integridad de los sql que exporto, pero esto ya requiere un poco más de tiempo :)

server-600x328.png


Fin!


Bueno nada más que agregar … por el momento, estoy retomando varios scripts míos hechos en Bash para optimizarlos y mejorarlos, espero no demorarme mucho en traer novedades :D

Saludos

The post Enviar un archivo a un FTP con un solo comando appeared first on Desde Linux.


UnG9mTtjo7I


Continúar leyendo...