Chatear en RedIrc

martes, 12 de abril de 2016

Automatizar sesiones ftp desde Linux

Automatizar sesion ftp

Normalmente cuando iniciamos sesiones FTP se nos solicita un usuario y una contraseña para poder acceder al servidor, cierto es que el servidor puede permitir sesiones anonimas pero son muy pocos ya, haciendo uso del auto-login podemos iniciar una sesión FTP sin intervención del usuario.

Para crear una sesión FTP automáticamente debemos de crear un archivo llamado netrc ubicado en el directorio principal del usuario, suponiendo los siguientes datos:
host: ftp.empresa.com
user: test
password: Test1234
Añadimos lo siguiente en el archivo ~/.netrc:
machine ftp.empresa.com
login test
password Test1234
Podemos tener las cuentas que queramos separandolas por lineas vacías. También podemos ejecutar comandos nada mas se conecte al servidor haciendo uso de macros, para ello, usaremos en nuestro archivo netrc el token macdef, por ejemplo, para subir un archivo periódico de copias de seguridad pasandole como parametro la fecha actual seria:
macdef backup
    bin
    put /home/$USER/backups/backup-$1.tar.bz2
    quit
[warning headline="Nota"]Si usamos varios macros diferentes debemos de dejar varias lineas de espacio entre cada uno que será la terminación de cada uno.[/warning] Debemos de darle permisos únicamente al usuario actual para que funcione y por seguridad:
sudo chmod 600 ~/.netrc
sudo chown $USER ~/.netrc
Ahora si, podemos iniciar la sesión con nuestro macro y se debería de crear sin solicitarnos el usuario o la clave:
echo "\$ backup `date +'%Y%m%d'`" | ftp ftp.empresa.com
[update headline="Nota"]Los macros deben ir siempre precedidos con el símbolo $ y un espacio para que funcione[/update] Esto nos puede valer para automatizar script que realizan acciones periódicamente sobre el servidor usando cron, como podría ser la carga o descarga de archivos o copias de seguridad haciendo uso de macros.

No hay comentarios:

Publicar un comentario