{"id":20,"date":"2026-07-15T02:10:05","date_gmt":"2026-07-15T00:10:05","guid":{"rendered":"https:\/\/wp-papulinux.ifigueroap.cl\/?page_id=20"},"modified":"2026-07-15T02:15:49","modified_gmt":"2026-07-15T00:15:49","slug":"tarea-3","status":"publish","type":"page","link":"https:\/\/wp-papulinux.ifigueroap.cl\/index.php\/tarea-3\/","title":{"rendered":"Tarea 3"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Grupo: <strong>papulinux<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Estructura de carpetas<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Se organiz\u00f3 el c\u00f3digo en carpetas separadas por secci\u00f3n, para mantener el trabajo ordenado entre los integrantes del equipo: scripts de respaldo, archivos temporales antes de subirlos, exportador propio y proxy, certbot, WordPress y app propia.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Accesos<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Supuestos<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Como el historial del sistema no mostraba ning\u00fan acceso de usuario anterior a la fecha de inicio del trabajo grupal, se tom\u00f3 ese primer login como el &#8220;primer logging&#8221; oficial.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Problemas y soluciones<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Desfase horario<\/strong>: el servidor corre en horario UTC, distinto al horario local de Chile (UTC-4). Por lo que se decidi\u00f3 registrar la hora usando la del servidor (UTC), para mantener consistencia con el resto de los logs del sistema.<\/li>\n\n\n\n<li><strong>Reconstrucci\u00f3n del primer acceso<\/strong>: como no se registr\u00f3 el primer ingreso manualmente en el momento, se recuper\u00f3 la fecha\/hora real usando el comando <code>last<\/code>, filtrando los eventos de tipo <code>reboot<\/code> (que no corresponden a accesos de usuario) y qued\u00e1ndose con el login m\u00e1s antiguo del usuario <code>papulinux<\/code>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Respaldos<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Supuestos<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Como el bucket S3 es compartido por todo el curso, se cre\u00f3 una subcarpeta\/repositorio propia del grupo dentro de \u00e9l, para no mezclar los backups con los de otros grupos.<\/li>\n\n\n\n<li>Se reutilizan los mismos repositorios de <code>restic<\/code> (Hornet y S3) tanto para los backups de <code>$HOME<\/code> como para los dumps de MySQL, diferenciando cada respaldo por el nombre del archivo subido, en lugar de crear un repositorio distinto para cada script.<\/li>\n\n\n\n<li>Las credenciales (contrase\u00f1a de restic y llaves de S3) se guardaron en archivos ocultos con permisos restringidos, en vez de escribirlas directamente en los scripts.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Problemas y soluciones<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Error de firma en S3<\/strong> (<code>The request signature we calculated does not match...<\/code>): al inicializar y probar el repositorio en S3, restic devolv\u00eda un error de autenticaci\u00f3n. Se detect\u00f3 que el <code>AWS_SECRET_ACCESS_KEY<\/code> guardado en <code>~\/.s3_credentials<\/code> ten\u00eda un car\u00e1cter mal copiado (y el <code>AWS_ACCESS_KEY_ID<\/code> estaba duplicado por error). Se corrigi\u00f3 el archivo con las credenciales correctas y el error se resolvi\u00f3.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Monitoreo<\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">Servicios Docker<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Grupo: papulinux Estructura de carpetas Se organiz\u00f3 el c\u00f3digo en carpetas separadas por secci\u00f3n, para mantener el trabajo ordenado entre los integrantes del equipo: scripts de respaldo, archivos temporales antes de subirlos, exportador propio y proxy, certbot, WordPress y app propia. Accesos Supuestos Problemas y soluciones Respaldos Supuestos Problemas y soluciones Monitoreo Servicios Docker<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-20","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/wp-papulinux.ifigueroap.cl\/index.php\/wp-json\/wp\/v2\/pages\/20","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp-papulinux.ifigueroap.cl\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wp-papulinux.ifigueroap.cl\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wp-papulinux.ifigueroap.cl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wp-papulinux.ifigueroap.cl\/index.php\/wp-json\/wp\/v2\/comments?post=20"}],"version-history":[{"count":4,"href":"https:\/\/wp-papulinux.ifigueroap.cl\/index.php\/wp-json\/wp\/v2\/pages\/20\/revisions"}],"predecessor-version":[{"id":24,"href":"https:\/\/wp-papulinux.ifigueroap.cl\/index.php\/wp-json\/wp\/v2\/pages\/20\/revisions\/24"}],"wp:attachment":[{"href":"https:\/\/wp-papulinux.ifigueroap.cl\/index.php\/wp-json\/wp\/v2\/media?parent=20"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}