Script descarga contenido FTP

2 minutos de lectura

Los script nos ayudan en la automatización de tareas, la descarga de ficheros desde un servidor FTP puedes hacerse de forma automática con un sencillo script.

En mi caso uso un servidor FTP para almacenar copias de seguridad. Estas copias las descargo de forma automática en otro servidor distinto al que ha generado la copia de seguridad. La idea es redundar esos backups.

Hacer esta tarea de forma manual me haría perder un tiempo muy valioso. El script que os muestro se inserta en el equipo en el que queremos dejar descargado el contenido del servidor FTP al que nos conectamos.

#!/bin/bash
HOST='ip servidor ftp'
USER='nombre usuario ftp'
PASSWD='contraseña servidor ftp'
cd /ruta-destino-contenido/
ftp -n $HOST << END_SCRIPT
quote USER $USER
quote PASS $PASSWD
binary
prompt
mget -i *
quit
END_SCRIPT

Explicación partes script:

#!/bin/bash
HOST=’ip servidor ftp’ = variable que almacena la dirección ip del servidor FTP.
USER=’nombre usuario ftp’ = usuario valido con permisos en servidor FTP.
PASSWD=’contraseña servidor ftp’ = contraseña usuario FTP.
cd /ruta-destino-contenido/ = ruta en la que queremos que se almacene el contenido a descargar.
ftp -n $HOST << END_SCRIPT
quote USER $USER
quote PASS $PASSWD
binary
prompt
mget -i * = aquí indicamos que queremos que se descargue todo el contenido del ftp.
quit
END_SCRIPT

Para hacer funcionar este pequeño script, tan solo necesitaremos guardarlo en un documento con extensión .sh (ej: descarga-ftp.sh). Una vez creado le asignaremos premisos de ejecución de la siguiente forma:

chmod +x nombre-script.sh

Ahora tan solo faltaría automatizar la ejecución del script. Para ello vamos a ejecutar el comando “crontab -e” y a escribir algo como esto:

00 00 * * * /srv/scripts/nombre-script.sh

Con esta línea estamos diciendo que el script se ejecute todos los días a las 00:00.

¡Todo listo! Con este simple script hemos ahorrado un tiempo muy valioso.

 

Valorar post
Diego García Cuesta: Técnico superior en administración de sistemas informáticos y redes. Autodidacta, amante de la tecnología y el deporte. En mis tiempos libres investigo sobre los últimos avances tecnológicos.
Related Post