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.
¿Cómo 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
Subir a un FTP con curl
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 
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 
Saludos