1 00:00:00,240 --> 00:00:10,259 Buenas chicos, ¿qué tal? A ver, os cuento. En un principio tenía pensado, bueno, como mañana no voy a estar en clase, por lo menos la primera parte, 2 00:00:10,900 --> 00:00:15,560 porque tenemos la presentación de los proyectos, pues os voy a dejar trabajo, ¿vale? 3 00:00:15,880 --> 00:00:21,679 De primeras había comentado el viernes que a lo mejor os dejaba este software, Duplicity, para la realización de copias de seguridad, 4 00:00:21,800 --> 00:00:26,260 que lo echaréis un vistazo, pero bueno, he pensado hacer una pequeña práctica realizando un script, ¿vale? 5 00:00:27,059 --> 00:00:30,600 Entonces, bueno, es un software libre para la realización de copias de seguridad, ¿vale? 6 00:00:30,620 --> 00:00:34,960 Esta es su página y tenéis aquí un montón de información. 7 00:00:35,659 --> 00:00:40,420 Por ejemplo, si vais a documentación, pues bueno, aquí podéis ver como la sintaxis que utiliza, ¿no? 8 00:00:40,420 --> 00:00:44,740 Es duplicity, en este caso, queremos utilizar la herramienta para hacer una copia de seguridad. 9 00:00:45,340 --> 00:00:51,320 Como no indicamos el tipo de copia de seguridad, decimos que haga la copia de seguridad completa de este directorio, ¿vale? 10 00:00:51,320 --> 00:00:52,619 Y lo almacenamos en este. 11 00:00:52,619 --> 00:01:09,480 En este caso, como utilizamos SCP, pues va a ser en una máquina remota, ¿vale? Nosotros lo vamos a hacer todo en local. Os voy a dejar un vídeo también, bueno, fijaros aquí abajo, por ejemplo, aquí indica la copia completa y excluye un directorio, ¿vale? 12 00:01:09,480 --> 00:01:15,620 aquí hace por duplicity un envío por FTP 13 00:01:15,620 --> 00:01:20,120 y en la propia sintaxis, en el propio comando 14 00:01:20,120 --> 00:01:22,359 ya introduce FTP password 15 00:01:22,359 --> 00:01:27,299 introduce el password que va a utilizar en esa conexión 16 00:01:27,299 --> 00:01:30,260 en ese envío de la copia de seguridad 17 00:01:30,260 --> 00:01:34,420 luego aquí fijaros, os voy a dejar un vídeo también 18 00:01:34,420 --> 00:01:36,799 donde explico bastante bien como ejecutarlo 19 00:01:36,799 --> 00:01:39,420 y en este caso fijaros, utiliza duplicity, copia completa 20 00:01:39,420 --> 00:01:41,420 el directorio origen y el directorio destino 21 00:01:41,420 --> 00:01:43,480 el directorio destino, si es en local 22 00:01:43,480 --> 00:01:44,579 tenemos que indicar file 23 00:01:44,579 --> 00:01:47,200 dos puntos, barra, barra 24 00:01:47,200 --> 00:01:48,739 y luego ya esta barra sería 25 00:01:48,739 --> 00:01:51,280 la barra del directorio raíz 26 00:01:51,280 --> 00:01:53,459 ¿vale? entonces, lo que quiero 27 00:01:53,459 --> 00:01:55,359 que hagáis es un script, fijaros ya tengo aquí 28 00:01:55,359 --> 00:01:56,859 la estructura que hemos venido utilizando 29 00:01:56,859 --> 00:01:59,819 c de origen, que tengo cuatro ficheros 30 00:01:59,819 --> 00:02:00,900 que no están vacíos 31 00:02:00,900 --> 00:02:03,120 y bueno, c de destino 32 00:02:03,120 --> 00:02:05,260 pues no tengo nada, ¿vale? entonces 33 00:02:05,260 --> 00:02:06,680 si yo ejecuto 34 00:02:06,680 --> 00:02:08,860 script2.sh 35 00:02:08,860 --> 00:02:11,039 fijaros, me dice que es una opción inmadida 36 00:02:11,039 --> 00:02:13,180 ¿por qué? porque está preparado 37 00:02:13,180 --> 00:02:14,960 de una manera que si yo le meto 38 00:02:14,960 --> 00:02:17,060 la información de menú, me sale 39 00:02:17,060 --> 00:02:19,080 bueno, me imprime el directorio de origen y destino 40 00:02:19,080 --> 00:02:20,800 seguimos trabajando con la variable 41 00:02:20,800 --> 00:02:23,159 home del usuario que estamos 42 00:02:23,159 --> 00:02:25,159 utilizando y indicamos 43 00:02:25,159 --> 00:02:26,520 pues eso, copias origen 44 00:02:26,520 --> 00:02:28,719 y copias destino 45 00:02:28,719 --> 00:02:30,360 ¿vale? donde 46 00:02:30,360 --> 00:02:33,400 tenemos lo que queremos guardar 47 00:02:33,400 --> 00:02:34,680 y donde lo vamos a almacenar 48 00:02:34,680 --> 00:02:36,259 en este caso, si yo utilizo 49 00:02:36,259 --> 00:02:38,879 por ejemplo, el script 50 00:02:38,879 --> 00:02:40,740 y pongo el parámetro 51 00:02:40,740 --> 00:02:45,009 visualizar, fijaros 52 00:02:45,009 --> 00:02:47,090 que me visualiza todas las claves 53 00:02:47,090 --> 00:02:49,250 privadas en este caso que tengo en mi sistema 54 00:02:49,250 --> 00:02:51,490 si damos a 55 00:02:51,490 --> 00:02:53,129 si ejecutamos el script 56 00:02:53,129 --> 00:02:54,370 con el parámetro crear 57 00:02:54,370 --> 00:02:57,069 pues lo que hace es un gpg full generate 58 00:02:57,069 --> 00:02:59,310 antes hacíamos gpg menos k mayúscula 59 00:02:59,310 --> 00:03:01,090 pero en este caso va a crear 60 00:03:01,090 --> 00:03:05,189 un par de claves 61 00:03:05,189 --> 00:03:06,750 en este caso, pues bueno 62 00:03:06,750 --> 00:03:33,419 Yo le voy a llamar Alberto, alberto, alberto, arroba gmail.com, prueba, vale, ok, 1, 2, 3, 4, 5, 6, 7, 8, lo hace y ahora si por ejemplo hago visualizar, ya vemos que me ejecuta gpg-c mayúscula y alberto, arroba gmail.com, ¿vale? 63 00:03:33,419 --> 00:03:37,080 Entonces, siguiente paso, ya hemos visto que tenemos otras opciones 64 00:03:37,080 --> 00:03:38,280 ¿Vale? Como son 65 00:03:38,280 --> 00:03:39,879 Voy a hacer una copia concreta 66 00:03:39,879 --> 00:03:44,159 ¿Vale? No sé si lo he dicho en el vídeo 67 00:03:44,159 --> 00:03:45,759 Pero bueno, si utilizamos 68 00:03:45,759 --> 00:03:46,599 No, no lo he dicho 69 00:03:46,599 --> 00:03:48,719 Aquí en el manpage 70 00:03:48,719 --> 00:03:51,819 Aquí, después de indicar 71 00:03:51,819 --> 00:03:54,060 El tipo de copia de seguridad que utilizamos 72 00:03:54,060 --> 00:03:56,080 Pues bueno, si lo hacemos de esa manera 73 00:03:56,080 --> 00:03:57,240 Nos va a hacer una copia 74 00:03:57,240 --> 00:03:59,280 Con un cifrado simétrico 75 00:03:59,280 --> 00:04:01,319 Hay un comando que es no encryption 76 00:04:01,319 --> 00:04:03,439 Y que no lo cifre 77 00:04:03,439 --> 00:04:04,800 Pero bueno, yo no quiero que lo cifréis 78 00:04:04,800 --> 00:04:12,759 con clave pública-privada. Es decir, si ponéis detrás del tipo de copia de seguridad, me cae en Crickey y un identificador, ¿vale? 79 00:04:13,159 --> 00:04:22,540 Pues lo que quiero es que haga ese cifrado con la clave pública y luego la restauración que lo haga con la clave privada, ¿vale? 80 00:04:22,560 --> 00:04:29,720 Entonces fijaros, si ejecuto completa, me va a pedir una clave a utilizar. En este caso yo quiero el identificador de la clave de Alberto. 81 00:04:29,720 --> 00:04:37,040 Podría poner el correo, podría poner la parrafada que identifica, etc. 82 00:04:37,240 --> 00:04:44,100 Estreos Alberto y fijaros, como tengo cuatro ficheros, pues me indica cinco por la estructura de directorios que crea 83 00:04:44,100 --> 00:04:47,699 y nuevos ficheros cinco que mete la copia de seguridad. 84 00:04:48,800 --> 00:04:53,740 Fijaros, si voy a destino, va a crear tres ficheros para hacer la copia de seguridad completa. 85 00:04:53,939 --> 00:04:55,540 Así funciona Duplicity. 86 00:04:55,540 --> 00:05:07,600 Fijaros que la nomenclatura es duplicity-full, de completa, y luego el año, el mes y el día. Así está trabajando duplicity. 87 00:05:09,019 --> 00:05:19,379 Yo subo y fijaros, ahora voy a ir a origen y voy a poner ECOBLA y voy a crear un fichero que se llama luis.txt. 88 00:05:19,379 --> 00:05:24,980 que tenemos ahora en el fichero. Pues ahora lo que voy a ir a hacer es una copia 89 00:05:24,980 --> 00:05:37,470 incremental. Fijaros, lo mismo, Alberto, utilizas la misma y fijaros que ahora 90 00:05:37,470 --> 00:05:41,509 tenemos seis ficheros y bueno, figuran que hay dos nuevos ficheros, ¿por qué? por el 91 00:05:41,509 --> 00:05:45,189 fichero que he creado y esa estructura para ese fichero. 92 00:05:45,189 --> 00:05:52,589 Si voy a destino, fijaros ya con el de los lsm mejor que ya he creado 93 00:05:52,589 --> 00:06:13,410 Otros tres ficheros para la copia incremental. Tiene un enlace evidentemente a la copia completa. Ya sabéis que la incremental lo que hace es una copia de seguridad con los cambios que ha habido respecto a la copia de seguridad anterior. 94 00:06:13,410 --> 00:06:50,399 ¿Vale? Y la diferencial es los cambios en relación a la última copia completa. Entonces, bueno, versión nuclear, vamos a ver otra vez el menú, ¿vale? Vale, ya lo tenemos. Y, bueno, tenemos también restaurar, ¿vale? Si yo, por ejemplo, lanzo, no he hecho ningún cambio en mi directorio origen, ¿no? Entonces, fijaros, voy a poner Alberto, evidentemente, la clave con la que tengo que descifrar la información es diferente, ¿no? 95 00:06:50,399 --> 00:06:54,720 Y nos dije, oye, que el directorio ya existe y que no tiene nada que sobreescribir. 96 00:06:55,339 --> 00:06:57,899 La sintaxis para restaurar es al revés. 97 00:06:58,180 --> 00:07:02,160 Primero se indica dónde está el destino con file, lo podéis ver en este vídeo, 98 00:07:02,220 --> 00:07:04,000 y luego se indica el directorio de origen, ¿no? 99 00:07:04,000 --> 00:07:08,920 Visualizad el vídeo, que, bueno, no tiene más, pero podéis ver la sintaxis rápidamente. 100 00:07:09,500 --> 00:07:15,819 Fijaros, yo voy a origen, bueno, me voy a cargar el directorio de origen. 101 00:07:15,819 --> 00:07:24,819 entonces ahora si lanzó lo mismo con restaurar alberto fijaros en este caso claro me pide la 102 00:07:24,819 --> 00:07:34,660 clave anteriormente la clave público-privada y parece que ha ido todo bien entonces fijaros 103 00:07:34,660 --> 00:07:43,120 origen ya tengo todos mis ficheros con la fecha que los cree fijaros que estamos aquí a la 1 y 104 00:07:43,120 --> 00:07:47,139 y 5 y estos les creé anteriormente 105 00:07:47,139 --> 00:07:49,699 no cuando lancé la copia de seguridad 106 00:07:49,699 --> 00:07:52,720 por último lo que os pido en el script 107 00:07:52,720 --> 00:07:56,620 es el menú 108 00:07:56,620 --> 00:07:59,199 esto ya, uy, que ha pasado 109 00:07:59,199 --> 00:08:02,560 ah vale, que estoy en origen, lo último que os pido es 110 00:08:02,560 --> 00:08:05,720 a modo de opcional, lo que quiero que hagáis 111 00:08:05,720 --> 00:08:07,939 es otra opción que es borrar 112 00:08:07,939 --> 00:08:11,120 que es borrado de todas las copias de seguridad 113 00:08:11,120 --> 00:08:16,759 del mes anterior a la ejecución del script, ¿vale? Todas las copias de seguridad del mes anterior. 114 00:08:18,199 --> 00:08:24,259 Os digo dos cosillas para el modo regulatorio por si alguno no se acuerda en el tema de script. 115 00:08:24,899 --> 00:08:34,409 Yo si hago, voy a hacer un script.sh y voy a hacer un script rápidamente. Fijaros, voy a hacer 116 00:08:34,409 --> 00:08:45,509 eco$0, eco$1, ¿vale? El $0 es el nombre del fichero en sí y $1 es el primer parámetro 117 00:08:45,509 --> 00:08:53,049 que introducimos, o sea, chmod 7, 7, 5, 5, ¿vale? A script, lo voy a meter, ¿vale? Y 118 00:08:53,049 --> 00:08:59,350 ahora lo ejecuto, uy, ¿vale? Y fijaros, voy a meter aquí lolo, por ejemplo, y fijaros, 119 00:08:59,350 --> 00:09:07,809 imprime $0 y $1. ¿Qué tenéis vosotros que jugar en el script? Pues con $1, ¿vale? Y 120 00:09:07,809 --> 00:09:13,070 lo que tenéis que hacer es, en este caso, por ejemplo, aquí lo tenéis, ¿no? En este 121 00:09:13,070 --> 00:09:20,990 caso, vosotros tenéis $1 y dependiendo el valor de $1, pues ir a menú, que me muestre 122 00:09:20,990 --> 00:09:26,970 ese menú o copie las diferentes, o haga las diferentes opciones que os he mostrado, ¿no? 123 00:09:26,970 --> 00:09:35,870 También tenéis que hacer, recoger información, como es la clave pública a utilizar, pues bueno, tenéis el comando read, ¿vale? 124 00:09:36,149 --> 00:09:44,470 Podéis poner read-p, la cadena que queréis imprimir y a la derecha, en este caso, sería edad, o si no, lo podéis hacer de esta forma, ¿no? 125 00:09:44,470 --> 00:09:49,710 Con un eco y luego, en la siguiente línea, un read, leyendo la variable en sí. 126 00:09:50,129 --> 00:09:56,870 Y a partir de ahí, pues como siempre, jugar con las variables y ejecutar todo lo que os pida. 127 00:09:56,970 --> 00:10:08,169 ¿De acuerdo? Bueno, pues esto quiero que lo hagáis en el día de mañana y luego sí que meteremos una mejora mínima para que esto lo haga de forma automática con el crontab. 128 00:10:08,169 --> 00:10:21,409 Y ya está, ya cerraríamos esta parte, ya el miércoles nos centraríamos en la parte de convertir un servidor web, en este caso Apache, de HTTP a HTTPS. 129 00:10:21,409 --> 00:10:23,009 ¿vale? no toco la parte del crontab 130 00:10:23,009 --> 00:10:25,049 porque os la explicaré en clase 131 00:10:25,049 --> 00:10:27,269 que me tendré una mejora según vayáis 132 00:10:27,269 --> 00:10:29,230 acabando y listo 133 00:10:29,230 --> 00:10:31,230 así que eso, nos vemos yo creo 134 00:10:31,230 --> 00:10:32,909 después del recreo, ¿vale chicos? 135 00:10:33,690 --> 00:10:34,730 venga, hasta luego