Aug 10

Si, ya se que FTP no es lo ideal para la transferencia de archivos en un ambiente hostil, pero estos scripts pueden ayudarte si estas dentro de una red de area local.

En ocasiones necesitamos copiar archivos de un servidor a otro para esto tenemos un pequeño script que puede ayudarnos con esa tarea

** Nota: Hay varias maneras de automatizar las transferencias del ftp, esta es solo una manera de hacerlo, si prefieres utilizar otra o comentar sobre ella, hazlo

1. Crear un archivo llamado .netrc en tu $HOME

con esta estructura:machine ip_addres_or_remote_host login user password passwd
por ejemplo:

machine localhost login sismo password mypassword

** puedes agregar múltiples entradas, una por host
** los permisos en el archivo deben ser ilegibles para todos excepto el dueño, puedes hacerlo con chmod 600 .netrc

2. Crear un archivo que contenga las instrucciones del ftp que deseas realizar

por ejemplo:

ASCII
cd /cualquier_path/
mput *.txt
mput *.dbf
bye

** en este caso guardé mi archivo como instructions.txt

3. Crear un archivo que invoque el ftp y pasar el archivo con las instrucciones del ftp como parámetro

por ejemplo:

echo “comienza transferencia del archivo…”
ftp - i localhost < instructions.txt
echo “listo...”

** en este caso guardé este archivo como automate.sh

se cambian los permisos del .sh para poder ejecutarlo

chmod u+x automate.sh

y finalmente lo corro con

./automate.sh

si tienes archivos pesados puedes enviarlos a background con el nohup

Por ejemplo:

nohup /export/home/sismo/automate.sh &

si te gusta o disgusta deja comentario :D