Wednesday, December 12, 2012

Script: Automatizar envio de archivos por FTP

"Si tienes que hacer una tarea más de una vez, haz un script".  

Aqui verás un ejemplo de Shell Script que envía por FTP todos los archivos del día de hoy  encontrados en una carpeta en específico.

#!/bin/sh

#IP donde te quieres conectar
HOST='192.168.0.10'

#Usuario de conexion
USER='ftpuser'

#Contrasena del usuario
PASSWD='ftppass'

#Path donde quieres buscar los archivos
PATH='/home/ftpuser/reports'

#Path donde los depositaras
DESTINATION='/destinationserver/destinationfolder'


#Busca todos los archivos en $PATH donde la fecha de modificacion (-ctime) sea# 0 = hoy. Por cada archivo que encuentres (while read LINE).
#Conectate al host y deposita el archivo (put $LINE)

find $PATH -type f -ctime 0 | while read LINE  
do
        ftp -n $HOST <<END_SCRIPT
        quote USER $USER
        quote PASS $PASSWD
        cd $DESTINATION
        put $LINE
        quit
END_SCRIPT
done
Recuerda ajustar los niveles de seguridad del script de acuerdo a tu necesidad y ponerlo en tu crontab.