{"id":161,"date":"2004-07-17T14:28:17","date_gmt":"2004-07-17T12:28:17","guid":{"rendered":"http:\/\/www.marblestation.com\/blog\/?p=161"},"modified":"2012-04-26T19:06:38","modified_gmt":"2012-04-26T17:06:38","slug":"envio-de-backups-por-mail-ii","status":"publish","type":"post","link":"https:\/\/www.marblestation.com\/?p=161","title":{"rendered":"Envio de backups por mail II"},"content":{"rendered":"<p>Como ya comente hace tiempo, mont\u00e9 un m\u00e9todo para que el servidor donde esta alojado este blog me enviase un <a href=\"http:\/\/www.marblestation.com\/blog\/index.php?p=85\">backup de la base de datos por email<\/a> cada cierto tiempo. Aprovechando que hoy ha petado por culpa de la desaparici\u00f3n de las cuentas de correo de iespana, he decidido mejorar el sistema.<\/p>\n<p>He instalado <a href=\"http:\/\/www.gnupg.org\/\">gnupg<\/a> en el servidor (emerge gnupg) y he importado mi clave:<\/p>\n<pre>\r\n$ gpg --keyserver pgp.escomposlinux.org --search-keys 0x0ED2CF9D\r\n<\/pre>\n<p>Y he modificado el sendbackup.sh:<\/p>\n<pre>\r\n#\/bin\/bash\r\nFECHA=`date +%d%m%Y`\r\nmysqldump --password=[PASSWORD] -u user basedatos > \/home\/user\/basedatos-$FECHA.sql\r\n\/usr\/bin\/gpg -r 0x0ED2CF9D --trust-model always -e \/home\/user\/basedatos-$FECHA.sql\r\n\/home\/user\/bin\/sendfile.pl \/home\/user\/basedatos-$FECHA.sql.gpg\r\nrm -f \/home\/user\/basedatos-$FECHA.sql\r\nrm -f \/home\/user\/basedatos-$FECHA.sql.gpg\r\n<\/pre>\n<p>El contenido de sendfile.pl lo podeis encontrar en el antiguo <a href=\"<a href=\"http:\/\/www.marblestation.com\/blog\/index.php?p=85\">&#8220;>post<\/a>.<\/p>\n<p>\u00bfQu\u00e9 conseguimos con los nuevos cambios? Ahora ya no copio a saco el directorio donde se encuentra la base de datos, ahora hago un volcado de esta en SQL a un archivo. Esto nos asegura que toda la informaci\u00f3n se enviar\u00e1 correctamente, el metodo de copiar todo el directorio era muy chapucero y podria dar problema en cambios de versi\u00f3n de MySQL. Otra ventaja es que con esto ya no es necesario ser root para ejecutar el cron, por tanto la ejecuci\u00f3n del script de forma periodica se debe indicar en el cron del usuario (adem\u00e1s es este usuario el que tiene la clave p\u00fablica con la que encriptar y no root).<\/p>\n<p>Adem\u00e1s esta vez utilizo gnupg para encriptar dicho archivo sql, asi de esta forma si alguien intercepta el mail no podra acceder al contenido de mi base de datos. Como ya dije en el antiguo post, tampoco es algo que me preocupe en exceso ya que poca cosa privada hay&#8230; pero siempre es preferible hacer las cosas bien hecas \ud83d\ude42 Adem\u00e1s, este ejemplo nos puede servir para hacer backups de cosas mas sensibles (por ejemplo archivos de configuraci\u00f3n).<\/p>\n<p>Cuando recibo el mail, guardo el archivo adjunto (e.g. marble-17072004.sql.gpg) y lo descomprimo con:<\/p>\n<pre>\r\ngpg -o marble.sql -d marble-17072004.sql.gpg\r\n<\/pre>\n<p>Lo que me crea el archivo marble.sql desencriptado. Para entender el funcionamiento de este sistema es necesario que se entienda <a href=\"http:\/\/www.marblestation.com\/publicaciones\/gpg.php\">como funciona GnuPG o PGP<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como ya comente hace tiempo, mont\u00e9 un m\u00e9todo para que el servidor donde esta alojado este blog me enviase un backup de la base de datos por email cada cierto tiempo. Aprovechando que hoy ha petado por culpa de la desaparici\u00f3n de las cuentas de correo de iespana, he decidido mejorar el sistema. He instalado &hellip; <a href=\"https:\/\/www.marblestation.com\/?p=161\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Envio de backups por mail II<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,6],"tags":[],"class_list":["post-161","post","type-post","status-publish","format-standard","hentry","category-espanyol","category-tecnologia"],"_links":{"self":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/161","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=161"}],"version-history":[{"count":1,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/161\/revisions"}],"predecessor-version":[{"id":1760,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/161\/revisions\/1760"}],"wp:attachment":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=161"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=161"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}