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.