Comando 'crontab'
Práctica 1
1.- Subir información a una carpeta en su home (20 MB aproximadamente)
Para esto utilizaremos la aplicación WinSCP. Necesitaremos la dirección de nuestro servidor así como un nombre de usuario y contraseña.
Después de entrar nos aparecerá la siguiente ventana, en ella copiamos una carpeta cualquiera que contenga 20 MB, aproximadamente, de información. En mi caso copie la carpeta Trabajo
2.- Generar automáticamente un .tar de la carpeta y guardarlo en /var/respaldos/trabajo.tar
En este paso utilizaremos el siguiente comando para crear el archivo .tar:
tar -cf /var/respaldos/trabajo.tar /home/keviin/Trabajo
Y como nos pide crear el archivo automáticamente, utilizaremos el comando crontab, el cual nos sirve para ejecutar varias instrucciones a una hora especifica.
Lo primero que haremos será ejecutar el comando crontab -e para que nos abra un script en un editor de textos, en mi caso abriré el editor nano en el cual añadiremos el siguiente comando:
30 00 * * * tar -cf /var/respaldos/trabajo.tar /home/keviin/Trabajo
Esto quiere decir que el comando tar se ejecutará a las 00:30 hrs. todos los días.
Guardamos lo que añadimos al script y listo.
Práctica 2
Transferir automáticamente el archivo trabajo.tar a otro servidor.
*Se deberá crear un usuario llamado respaldo en el otro servidor y el archivo .tar se deberá guardar en: /home/respaldo/trabajo.tar
Después de haber copiado el archivo trabajo.tar, borrarlo automáticamente del servidor origen.
Creamos el usuario en el otro servidor con el comando adduser respaldo.
Ahora, necesitaremos que, al mandar automáticamente el archivo a otro servidor, nos se nos solicite una contraseña. Para esto crearemos una llave publica con el siguiente comando:
ssh-keygen -b 4096 -t rsa
Si es la primera vez que se hace, se tiene que dar Enter a lo que salga después de ejecutar el comando hasta que vuelva a salir el prompt.
Nos saldrá lo siguiente:
Posteriormente, tendremos que mandar la llave publica que generamos al usuario del otro servidor con el siguiente comando:
ssh-copy-id respaldo@192.168.0.11
Nos pedirá la contraseña del usuario por ultima vez.
Ahora solo editamos el script de la práctica anterior con el comando crontab -e y le añadimos los comando necesarios para completar esta práctica
Añadimos el siguiente comando al script para copiar el archivo .tar en otro servidor:
55 00 * * * scp /var/respaldos/trabajo.tar respaldo@192.168.0.11:/home/respaldo
Y el siguiente comando para borrar el archivo trabajo.tar del servidor origen
59 00 * * * rm /var/respaldos/trabajo.tar
Verificamos que el archivo se copio satisfactoriamente.