<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Efisense Interactive &#187; San Linux</title>
	<atom:link href="http://www.efisense.com/blog/category/san-linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.efisense.com/blog</link>
	<description>La creatividad y tecnología descrita por Efisense Interactive</description>
	<lastBuildDate>Fri, 09 Apr 2010 20:58:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Respaldo MySQL automatizado.</title>
		<link>http://www.efisense.com/blog/2009/09/respaldo-mysql-automatizado/</link>
		<comments>http://www.efisense.com/blog/2009/09/respaldo-mysql-automatizado/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 16:34:45 +0000</pubDate>
		<dc:creator>elDavid</dc:creator>
				<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[San Linux]]></category>
		<category><![CDATA[AutoMySQLBackup]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[MySQL Backup]]></category>
		<category><![CDATA[Respaldar Bases de datos]]></category>
		<category><![CDATA[Respaldos]]></category>
		<category><![CDATA[respaldos automatizados]]></category>

		<guid isPermaLink="false">http://www.efisense.com/blog/?p=35</guid>
		<description><![CDATA[En contra de mi voluntad, cada día voy aprendiendo más de Linux, espero nunca preferirlo más que a Mac, la verdad es que Linux es un excelente sistema operativo para servidores y nuestro servidor Web se encuentra en dicha plataforma, para ser más específicos en la distribución CentOS, recientemente adquirimos uno (también conocido como Noisy) [...]]]></description>
			<content:encoded><![CDATA[<p>En contra de mi voluntad, cada día voy aprendiendo más de Linux, espero nunca preferirlo más que a Mac, la verdad es que Linux es un excelente sistema operativo para servidores y nuestro servidor Web se encuentra en dicha plataforma, para ser más específicos en la distribución CentOS, recientemente adquirimos uno (también conocido como Noisy) para realizar respaldos locales y trabajar con los equipos en red local, telefonia IP y algunas otras tecnologías con las cuales estamos comenzando a simpatizar.</p>
<p>En nuestro servidor web tenemos uno que otro dato importante&#8230; sobre todo por que cada día se actualiza la información de bases de datos y no podemos darnos el lujo de perder nada de dicha información, nuestro servidor web ya contaba con respaldos en espejo en discos duros en su  ubicación remota (debido a las altas velocidades de conexión), pero localmente no contamos con respaldos tan frecuentes, es por eso que decidimos poner en marcha un plan de respaldos diarios automatizados.</p>
<p>A continuación compartiré los pasos que seguimos, primero debes de tener acceso al SSH del servidor, esto es un modo de línea de comando en el cual puedes acceder al servidor para realizar operaciones complejas, si no tienes idea de esto, mejor no lo intentes.</p>
<h2>La Herramienta:</h2>
<p>Todo fue basado en esta útil herramienta: <a title="AutoMySQLBackup" href="http://sourceforge.net/projects/automysqlbackup/" target="_blank">AutoMySQLBackup</a> , la cual es un script en Shell que permite realizar respaldos de nuestras bases de datos en archivos comprimidos, he aquí la configuración básica de las principales directivas:</p>
<p style="padding-left: 30px;"># Nombre de usuario para acceder al  MySQL :<br />
#Recuerda que si deseas respaldar todas las bases de datos de tu servidor el usuario deberá tener privilegios sobre todas:<br />
USERNAME=usuarioBD</p>
<p style="padding-left: 30px;"># La contraseña del usuario antes descrito.<br />
PASSWORD=**********</p>
<p style="padding-left: 30px;"># El Host de tu servidor (localhost si es en el mismo equipo) , si no es así deberás especificar la dirección ip o dominio de tu servidor y habilitar el acceso remoto al MySQL<br />
DBHOST=localhost</p>
<p style="padding-left: 30px;"># Lista de las bases de datos que deseas respaldar, separadas por espacios, ( “ BD1 BD2 BD3 ” ), si deaseas respaldarlas todas puedes poenr “all” y así cuando agregues alguna nueva ya será contemplada en el respaldo<br />
DBNAMES=&#8221;all&#8221;</p>
<p style="padding-left: 30px;"># Localización del directorio de respaldos del equipo donde se ejecuta este script<br />
BACKUPDIR=&#8221;/backups&#8221;</p>
<p style="padding-left: 30px;"># Configuración de mail, donde puedes elegir de:<br />
# &#8211; log   : se envía un mail con un log del respaldo cada vez que este se realiza.<br />
# &#8211; files : se envían todos los archivos del respaldo a tu mail ( un poco complejo para respaldos muy grandes).<br />
# &#8211; stdout : simplemente imprimirá el resultado en pantalla obviamente si alguien lo ejecuta, si no , nadie podrá verlo al automatizarlo.<br />
# &#8211; quiet : Solo envía un mail si hubo algún tipo de error en el respaldo.</p>
<p style="padding-left: 30px;">MAILCONTENT=&#8221;log&#8221;<br />
# Dirección de correo a la cual se enviará el mail.<br />
MAILADDR=”hostmaster@frisbi.net”</p>
<p>Al terminar de establecer todas estas directivas es importante que le des permisos de ejecución, de la siguiente manera:<br />
chmod 755 /bin/automysqlbackup<br />
Al ponerlo en la carpeta bin cada vez que escribas automysqlbackup a manera de comando se ejecutará el script y podremos verificar que todo funcione bien.</p>
<h2>La automatización parte 1</h2>
<p>Muy bien, ahora tenemos el script configurado, el problema es como hacer que se ejecute cada determinado tiempo, bien para poder hacer esto podemos configurar un cronjob, esto se muy sencillo:<br />
ingresas el comando: $crontab -e , esto te abrirá en editor de texto la tabla de tareas automatizadas en el cual tendrás que ingresar la siguiente línea:<br />
Cada uno de los asteriscos equivale a un comodín el cual podrá ser sustituido por su respectivo valor, en este ejemplo el script se jecutaría todos los días a las 10:10 p.m.</p>
<p style="padding-left: 30px;">#Ejemplo<br />
10  22 * * * /bin/automysqlbackup</p>
<p style="padding-left: 30px;">#Sustitución de cada uno de los comodines:<br />
#minute — entre 0 y 59 ( solo números enteros en todos los casos)<br />
#hour — entre 0 y 23<br />
#day — entre 1 y 31 (al especificar un mes debe de ser un día válido)<br />
#month — entre 1 y 12<br />
#dayofweek — entre 0 y 7, donde 0 o 7 corresponde a Domingo</p>
<h2>La automatización parte 2</h2>
<p>Ahora el script se ejecuta cada determinado tiempo, pero como podemos hacer para descargar dicho respaldo a un servidor local, existen otras opciones para respaldarlo como el ejecutar el script en nuestro servidor local y conectarse al servidor web para descargarlo, pero es un tanto más inseguro ya que habrá que permitir conexiones remotas a nuestro servicio de MySQL y aún que podemos restringirlo a una dirección IP fija, al menos en México es un tanto excesivo el precio por tener una ip fija con Telmex.<br />
Primero que nada creamos el script de conexión el cual podrá ir así:</p>
<p style="padding-left: 30px;">#bash-3.2<br />
#Aquí nos ubicamos en la carpeta donde deseamos realizar los respaldos.<br />
cd /carpetarespaldos<br />
# Y con esta instrucción nos conectamos al servidor y descargamos por medio de una cuenta ftp previamente creada el archivo del respaldo de la carpeta latest, en dicha carpeta como su nombre lo indica se encuentra el último respaldo generado por el servidor Web.<br />
#Dicha cuenta FTP debe de tener acceso al directorio donde se realizan los respaldos, el *.gz sirve para especificar que se descargarán todos los archivos con terminación .gz y posteriormente se especifican el user y pass del usuario ftp.<br />
wget ftp://sitio.net/*.gz &#8211;ftp-user nombreusuario &#8211;ftp-password=******</p>
<p>Obviamente debemos de crear otro cronjob en nuestro servidor local para ejecutar cada determinado tiempo la labor de descarga del FTP, dicho cron job deberá dejar el suficiente tiempo para que el servidor web haya podido terminar de generar el respaldo, en nuestro caso termina en menos de un minuto de respaldar todas las bases de nuestro servidor web.</p>
<p>Esperemos que les haya sido de utilidad, nos pareció importante publicar esta forma de respaldar, ya que realmente no hay mucha información en la web con relación a esto.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.efisense.com/blog/2009/09/respaldo-mysql-automatizado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
