<?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>SpotGeek.net &#187; Backup</title>
	<atom:link href="http://spotgeek.net/tag/backup/feed/" rel="self" type="application/rss+xml" />
	<link>http://spotgeek.net</link>
	<description>Tecnologia , Programação , web , internet, php</description>
	<lastBuildDate>Sun, 13 May 2012 19:38:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Script simples para backup de BD MySQL</title>
		<link>http://spotgeek.net/script-simples-para-backup-de-bd-mysql/</link>
		<comments>http://spotgeek.net/script-simples-para-backup-de-bd-mysql/#comments</comments>
		<pubDate>Tue, 12 May 2009 11:22:43 +0000</pubDate>
		<dc:creator>Filipe Teixeira</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://spotgeek.net/?p=302</guid>
		<description><![CDATA[Nos últimos dias estou até]]></description>
			<content:encoded><![CDATA[<p>Nos últimos dias estou até aprendendo um pouco melhor shell script para implementar um scriptizinho de backup de banco de dados MySQL.</p>
<p>O script é bem simples, faz um <em>dump</em> em um arquivo SQL, compacta e apaga o SQL (deixando só o arquivo compactado). Para ficar mais divertido, mandei ele apagar os backups antigos (mantém só os 10 últimos (exagero!)) e mandar e-mails avisando o status do backup. Ele manda e-mails sempre, mas pelo código você vai ver como é simples mandar e-mails só em caso de erros. No início achei interessante mandar e-mails sempre para confirmar que o backup está funcionando legal.</p>
<p>Depois coloquei na <em>cron</em> do Linux (Ubuntu) para executar todos os dias às 2h da manhã (que você pode configurar de acordo com sua necessidade).</p>
<p>Segue abaixo:</p>
<pre><code>#!/bin/bash
U_PASTA="/home/user/backup" # &lt; -- substitua pelo caminho onde vai salvar o backup
U_DATA=$(/bin/date +%Y%m%d%H%M%S)
U_CAMINHO="backup-$U_DATA.sql"
U_CAMINHOTAR="backup-$U_DATA.tar.gz"
U_HOST="localhost"
U_USER="root"
U_PASSWORD="********"
U_DATABASE="minha_base_mysql"
U_EMAIL="meuemail@meudominio.com.br"
#
erro=""
#
cd $U_PASTA
#
#
# Faz o backup do MySQL
#
mysqldump -h $U_HOST -u $U_USER -p$U_PASSWORD $U_DATABASE &gt; $U_CAMINHO
if [ $? -ne 0 ]
then
    erro="Erro na geracao do SQL"
fi
#
#
# Compacta o arquivo
#
if [ "$erro" == "" ]
then
    tar zcvf $U_CAMINHOTAR $U_CAMINHO
    if [ $? -ne 0 ]
    then
        erro="Erro ao compactar o SQL"
    fi
fi
#
#
# Remove o arquivo sql que nao sera mais usado
#
if [ "$erro" == "" ]
then
    rm -f $U_CAMINHO
    if [ $? -ne 0 ]
    then
        erro="Erro ao apagar arquivo SQL temporario"
    fi
fi
#
#
# Apaga arquivos antigos e mantem apenas os 'n' ultimos
#
n=10
c=0
for i in *.tar.gz
do
    let c=$c+1
done
if [ $c -gt $n ]
then
    for i in *.tar.gz
    do
        if [ $c -le $n ]
        then
            break
        fi
        rm $i
        let c=$c-1
    done
fi
#
if [ "$erro" == "" ]
then
    erro="Backup efetuado com sucesso!"
    subject="[Sucesso]"
else
    subject="[Erro]"
fi
echo "$erro =&gt; $U_CAMINHOTAR" | mail -s "$subject Backup em $(/bin/date +'%d/%m/%Y %H:%M:%S')" $U_EMAIL
#
# Volta para a pasta anterior
cd -</code></pre>
<p>Para agendar a execução, digite:</p>
<p><code>$ crontab -e</code></p>
<p>Vai abrir um editor de texto com o arquivo de configuração da <em>cron</em>. Daí você pode digitar algo como:</p>
<pre><code># m h  dom mon dow   command
00 02 * * * /home/user/backup_bd.sh</code></pre>
<p>Onde <em>backup_bd.sh</em> é o arquivo do script que passei acima.</p>
<p>É isso. Espero que seja útil.</p>
<p><strong>PS:</strong> Modifiquei algumas coisas na hora de publicar para não expor minha base, daí espero que não tenha cometido nenhum erro.</p>
<p><strong>Outro PS:</strong> O script é meio amador, mas funciona legal. A base que faço backup gera um arquivo sql de <em>117Mb</em>, compactado cai para <em>18Mb</em>, e tudo isso em cerca de <em>15 segundos</em>…</p>
<p>via: <a href="http://andrenoel.com.br/2009/05/11/script-simples-para-backup-de-bd-mysql/" target="_blank">Andre Noel</a></p>
]]></content:encoded>
			<wfw:commentRss>http://spotgeek.net/script-simples-para-backup-de-bd-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Backup MySQL em servidor remoto</title>
		<link>http://spotgeek.net/backup-mysql-em-servidor-remoto/</link>
		<comments>http://spotgeek.net/backup-mysql-em-servidor-remoto/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 09:44:54 +0000</pubDate>
		<dc:creator>Filipe Teixeira</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[DUMP]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://spotgeek.net/?p=289</guid>
		<description><![CDATA[Backup entre dois servidores  [Local]]]></description>
			<content:encoded><![CDATA[<p>Backup entre dois servidores  [Local] e [Remote].</p>
<p>mysqldump –u USERNAME –pPASSWORD nome-da-db &gt;/home/mysqlbak/mysqldump.sql<br />
rsync –avz /home/mysqlbak/mysqldump.sql username@ip-do-servidor-remoto:/home/mysqlbak/mysqldump.sql</p>
<p>Podem ler mais neste post:<a href="http://www.webkaput.com/backup-em-servidor-remoto/" target="_blank"> http://www.webkaput.com/backup-em-servidor-remoto/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://spotgeek.net/backup-mysql-em-servidor-remoto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

