1 00:00:00,620 --> 00:00:08,400 Vale chicos, a ver, os voy a explicar alguna cosa importante para la práctica que tenéis que hacer en relación a las copias de seguridad, ¿vale? 2 00:00:08,400 --> 00:00:19,440 Yo estoy en el directorio home de mi usuario, ¿vale? En este caso mi usuario es alumno y el directorio home, sabéis de cada alumno, es home barra y el identificador del usuario, ¿vale? 3 00:00:19,559 --> 00:00:27,320 Dentro de home alumno he creado una carpeta que se llama copias y dentro de copias hay dos directorios, uno que es origen y otro destino, ¿vale? 4 00:00:28,120 --> 00:00:35,799 En origen tendremos los ficheros de los que queremos hacer copia de seguridad y en destino es donde se almacenarán las copias de seguridad, ¿vale? 5 00:00:35,799 --> 00:00:40,060 En este caso, pues he hecho una copia completa de lo que tengo, ¿vale? 6 00:00:41,740 --> 00:00:49,640 Como os he comentado, en esta práctica tenéis que tener un mínimo de contacto con la creación de los scripts, ¿vale? 7 00:00:49,640 --> 00:00:53,039 Un script es un ejecutable que va a hacer ciertas cosas en mi sistema. 8 00:00:53,039 --> 00:01:20,040 Si en el futuro trabajáis de administrador de sistemas, un script os puede facilitar un montón de tareas, un montón de actividades que llevar a cabo, ¿vale? Entonces yo para crear un script os voy a abrir el editor en nano y voy a llamar a un fichero script.sh, ¿vale? 9 00:01:20,040 --> 00:01:49,500 Ahora, si yo a esto le digo que haga luego un ls, interprete que el s, oye, me ha puesto un ls y es mostrar lo que hay en ese directorio, ¿vale? Entonces yo, por ejemplo, voy a poner echo hola luis, que me muestre esa cadena, voy a poner un sleep, que es 1, que se duerma el programa, que no gana durante un segundo, y voy a poner echo esto es lo que hay en este directorio. 10 00:01:50,040 --> 00:02:07,620 Vale, si hago un ls me lo sale, me va a mostrar lo que hay dentro, entonces yo si pongo el comando lo va a ejecutar y me lo va a mostrar por pantalla, vale, lo guardo y yo lo ejecuto, para ejecutar un script tenéis que tener punto barra, que es el que aparece con el 7 y pongo script.sh y me dice permiso generado, ¿por qué? 11 00:02:07,620 --> 00:02:09,719 fijaros, cuando creo un fichero 12 00:02:09,719 --> 00:02:11,919 de nuevas, no me da 13 00:02:11,919 --> 00:02:13,759 permisos de ejecución, entonces tenemos 14 00:02:13,759 --> 00:02:15,580 que añadir esa x, ¿vale? Entonces 15 00:02:15,580 --> 00:02:17,780 hacemos un chmod 7 16 00:02:17,780 --> 00:02:19,759 para dar todos los menús al usuario y el resto 17 00:02:19,759 --> 00:02:22,080 me da igual, por ejemplo, 5, 5, script.ch 18 00:02:22,080 --> 00:02:23,960 ¿vale? Y ahora sí que lo puedo ejecutar 19 00:02:23,960 --> 00:02:25,819 y ya veis, como me decía la Luis 20 00:02:25,819 --> 00:02:27,680 está un segundo sin hacer nada, me imprime 21 00:02:27,680 --> 00:02:28,939 la segunda cadena y luego me hace 22 00:02:28,939 --> 00:02:31,960 un ls-la, me muestra 23 00:02:31,960 --> 00:02:33,719 todo lo que hay en el directorio 24 00:02:33,719 --> 00:02:35,360 ¿vale? Todo lo que hay 25 00:02:35,360 --> 00:02:39,449 en copias, ¿vale? 26 00:02:39,449 --> 00:02:56,409 Por ejemplo, voy a hacer otro ejemplo, nano script.sh, voy a borrar esto y hago un echo, esta es la hora, y hago un date, muestre la hora actual, lo ejecuto y ya está. 27 00:02:56,409 --> 00:03:11,030 Esta es la hora, la cadena, y luego ejecuta cuando date. Es muy sencillo y no vamos a profundizar más, pero es importante que empecemos a ver cómo funcionan los scripts y cómo se crean. 28 00:03:11,030 --> 00:03:40,530 Vale, otra funcionalidad que os voy a enseñar es crontaf, vale, crontaf es un fichero que lo que permite es al sistema ejecutar tareas automatizadas, tareas rutinarias, podríamos decirlo así, vale, por ejemplo, para las copias de seguridad, en nuestro sistema queremos que haga copias de seguridad todos los días a las 12 y media de la mañana, entonces con el crontaf lo podemos hacer, vale, el crontaf del sistema es este fichero, vale, crontaf, vale, ahí está. 29 00:03:40,530 --> 00:03:53,909 Como veis el primer dígito se refiere a los minutos, el siguiente a las horas, el siguiente al día del mes del 9 de 31, el siguiente al mes y el siguiente el día de la semana. 30 00:03:54,930 --> 00:04:03,189 Entonces por ejemplo en la primera línea que tenemos aquí quiere decir que ejecuta esto todas las horas en el minuto 17. 31 00:04:03,909 --> 00:04:08,169 En la siguiente línea que lo ejecuta a las 6 y 25 de la mañana. 32 00:04:08,169 --> 00:04:25,250 En el siguiente, que lo ejecuta a las 6 y 47, pero solo los domingos, porque pone aquí día 7, ¿vale? Y esto lo ejecuta a las 6 y 52 el día 1 del mes, ¿vale? Eso es importante. 33 00:04:25,250 --> 00:04:45,910 Entonces, que sepáis que cada uno de los cinco dígitos lo que quiere decir, ¿vale? Entonces, si yo quiero ver el crontag de mi usuario, tengo que hacer crontag-l. En este caso no tengo crontag, entonces tengo que hacer crontag-e para crearlo o editarlo, ¿vale? 34 00:04:45,910 --> 00:05:02,089 Entonces, por ejemplo, yo he hecho contrast-e y yo voy a poner, por ejemplo, que a las 11, por ejemplo, ¿qué hora tenemos? Las 4 y 24. Vale, bueno, pues son las 16 y 24, ¿vale? 35 00:05:02,089 --> 00:05:27,800 prontaf-en, quiero que a las 16 y 26 todos los días me ejecute por ejemplo el comando date y lo guarde en un fichero, recordad que con un triangulito crea el fichero de nuevo 36 00:05:27,800 --> 00:05:44,740 y con otro, con dos, lo que hace es añadirlo si este fichero está creado, ¿vale? Entonces voy a hacer que en home, alumno, copias, me crea un fichero de hora.txt, ¿vale? 37 00:05:44,779 --> 00:05:54,500 Lo que estoy diciendo es que el comando date, que me gusta la hora, lo añada a un fichero que se llama hora.txt dentro de home, alumno, copias. 38 00:05:54,500 --> 00:06:00,240 Es importante utilizar rutas absolutas, es decir, partiendo desde el raíz, a las 16 y 26, ¿vale? 39 00:06:00,339 --> 00:06:01,459 De contra, de X, sí. 40 00:06:02,199 --> 00:06:08,100 Y ahora veremos cuando sean las 4 y 26 que aparecerá un fichero aquí nuevo. 41 00:06:09,579 --> 00:06:10,540 ¿Vale? Vamos a esperar. 42 00:06:19,259 --> 00:06:22,839 A ver si sale, si salta, mejor dicho, a las 4 y 26. 43 00:06:27,259 --> 00:06:28,819 Parece que está empezando el minuto. 44 00:06:33,480 --> 00:06:35,120 A ver cuántos segundos faltan. 45 00:06:36,120 --> 00:06:38,180 Vale, quedan 20 segundos, está empezando el minuto. 46 00:06:38,180 --> 00:07:17,199 vale ya habéis visto que como lo hemos puesto vale ya lo veis entonces ahora fijaros que se ha generado un fichero sin yo decir nada es decir solo tocando el fichero crontaf que figure como hora.txt entonces si hago un cat hora.txt ahí ya está a las 16 y 26 o sea pues eso cada minuto a las 16 y 26 me ha generado ese fichero 47 00:07:17,199 --> 00:07:31,360 Si yo, por ejemplo, quiero borrar mi fichero de crontab, pues tengo que hacer un contract-r. Si voy a hacer un contract-e, me lo genera de nuevo. O si hiciera un contract-l, pues no hay porque no he añadido nada. 48 00:07:31,360 --> 00:07:54,139 Si por ejemplo quisiera que cada minuto me mostrara, vamos a hacerlo, 1, 2, 3, 4, por ejemplo que nos muestre Juanmi, que me diga quién es el usuario en un fichero que se llama 49 00:07:54,139 --> 00:08:06,769 alumno, copias, y el fichero se llama quiensoy.txt. Entonces, lo que le estamos diciendo aquí, 50 00:08:06,769 --> 00:08:14,379 uy, cronta, menos l para que nos lo muestre, lo que le estamos diciendo aquí con esto, 51 00:08:14,379 --> 00:08:24,639 es que cada minuto, vale, juanmi, fijaros lo que hace juanmi, nos muestra el usuario, 52 00:08:24,639 --> 00:08:26,660 que está en el sistema 53 00:08:26,660 --> 00:08:27,899 está logueado en el sistema 54 00:08:27,899 --> 00:08:29,360 entonces 55 00:08:29,360 --> 00:08:34,379 lo que estamos diciendo es que a minuto 56 00:08:34,379 --> 00:08:36,399 lo que devuelve el comando juanmi 57 00:08:36,399 --> 00:08:37,639 igual que hemos hecho con el date 58 00:08:37,639 --> 00:08:40,299 es que lo añada, porque ponemos dos 59 00:08:40,299 --> 00:08:42,440 con uno se crea, con dos se añade 60 00:08:42,440 --> 00:08:44,419 al fichero home alumno copias 61 00:08:44,419 --> 00:08:45,620 quien soy punto txt 62 00:08:45,620 --> 00:08:48,059 es importante, le estamos diciendo la ruta 63 00:08:48,059 --> 00:08:50,159 entera, es decir, donde tiene que 64 00:08:50,159 --> 00:08:51,419 guardarse 65 00:08:51,419 --> 00:08:54,000 entonces, ahora 66 00:08:54,000 --> 00:09:09,940 cuando sean las 4 y 28, fijaros, se ha generado un fichero quiensoy.txt. Vamos a esperar hasta las 4 y 29, ¿vale? Lo veis, alumno, vamos a esperar hasta las 4 y 29 67 00:09:09,940 --> 00:09:20,720 cómo debería añadir una nueva línea donde ponga alumno también, ¿vale? Nosotros vamos a utilizar el contract, pues eso, para decir a nuestro sistema que se ejecute 68 00:09:20,720 --> 00:09:23,179 una copia de seguridad a X hora 69 00:09:23,179 --> 00:09:26,720 pues cada día a lo mejor o cada semana 70 00:09:26,720 --> 00:09:29,840 y luego a decirle que vamos a generar unas copias 71 00:09:29,840 --> 00:09:32,679 incrementales que hace eso tiempo, pero en definitiva para eso 72 00:09:32,679 --> 00:09:36,059 sirve el contact, para ejecutar tareas, la automatización de tareas 73 00:09:36,059 --> 00:09:38,860 que las haga el sistema sin la participación 74 00:09:38,860 --> 00:09:40,899 del usuario 75 00:09:40,899 --> 00:09:45,590 vamos a esperar hasta I29 76 00:09:45,590 --> 00:09:47,649 que ya va a acabar el minuto 77 00:09:47,649 --> 00:09:51,730 y veremos como sigue haciendo las tareas 78 00:09:51,730 --> 00:09:55,669 según le hemos indicado, ¿vale? 79 00:09:55,669 --> 00:10:03,879 Veis, ya son las cuatro y veintinueve y vemos quién soy, que se ha editado a las cuatro 80 00:10:03,879 --> 00:10:10,279 y veintinueve, hago un cut y como veis ya se ha añadido alumno, una línea más, ¿vale? 81 00:10:10,600 --> 00:10:12,580 Pues en eso no existe el contacto, ¿vale? 82 00:10:12,980 --> 00:10:17,259 Nos ponemos con la práctica y cualquier cosilla me decís.