<?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>Arquivos shell script - Remontti</title>
	<atom:link href="https://blog.remontti.com.br/tag/shell-script/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.remontti.com.br/tag/shell-script</link>
	<description>rudimar@remontti</description>
	<lastBuildDate>Sat, 23 Jan 2021 12:36:23 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blog.remontti.com.br/wp-content/uploads/2024/09/icone-rr-80x80.png</url>
	<title>Arquivos shell script - Remontti</title>
	<link>https://blog.remontti.com.br/tag/shell-script</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Criando backups de forma simples e enviando para o Telegram ou servidor via SSH</title>
		<link>https://blog.remontti.com.br/4791</link>
					<comments>https://blog.remontti.com.br/4791#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Thu, 13 Aug 2020 22:29:03 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[shell script]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[sshpass]]></category>
		<category><![CDATA[telegram]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=4791</guid>

					<description><![CDATA[<p>Vamos aprender a criar scripts simples para fazer backups que podem ser úteis no nosso dia dia, vamos enviar eles para um servidor ou no telegram que aceita arquivos de até 2Gb #chupawhatsapp Criando&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/4791">Criando backups de forma simples e enviando para o Telegram ou servidor via SSH</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img fetchpriority="high" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/capa-backup-shell-script.png" alt="" width="720" height="340" class="alignnone size-full wp-image-4833" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/capa-backup-shell-script.png 720w, https://blog.remontti.com.br/wp-content/uploads/2020/08/capa-backup-shell-script-300x142.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/capa-backup-shell-script-520x245.png 520w" sizes="(max-width: 720px) 100vw, 720px" /><br />
Vamos aprender a criar scripts simples para fazer backups que podem ser úteis no nosso dia dia, vamos enviar eles para um servidor ou no telegram que aceita arquivos de até 2Gb #chupawhatsapp</p>
<p><strong>Criando Bot no telegram</strong></p>
<p>Abra o Telegram e procure por <a href="https://t.me/BotFather" rel="noopener noreferrer" target="_blank"><strong>@BotFather</strong></a>.<br />
Inicie a conversa com ele.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram1.jpg" data-rel="lightbox-gallery-3RH4vu55" data-rl_title="" data-rl_caption="" title=""><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram1-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-2823" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram1-169x300.jpg 169w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram1-576x1024.jpg 576w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram1.jpg 720w" sizes="(max-width: 169px) 100vw, 169px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram2.jpg" data-rel="lightbox-gallery-3RH4vu55" data-rl_title="" data-rl_caption="" title=""><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram2-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-2826" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram2-169x300.jpg 169w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram2-576x1024.jpg 576w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram2.jpg 720w" sizes="(max-width: 169px) 100vw, 169px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram3.jpg" data-rel="lightbox-gallery-3RH4vu55" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram3-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-2827" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram3-169x300.jpg 169w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram3-576x1024.jpg 576w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram3.jpg 720w" sizes="auto, (max-width: 169px) 100vw, 169px" /></a></p>
<p>&#8211; Digite o comando <strong>/newbot</strong> para iniciar a criação de um novo bot.<br />
&#8211; Após o comando você vai dar um nome para seu bot. Ex.: <em>&#8220;Bot Legal RR&#8221;</em>.<br />
&#8211; Em seguida é necessário digitar o nome de usuário para o bot, sendo obrigatório terminar com <strong>bot</strong>. Ex.: <em>&#8220;legallrr_bot&#8221;</em>.<br />
&#8211; Ao finalizar você receber informações com seu TOKEN, que vamos utilizar em seguida.</p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram4.jpg" data-rel="lightbox-gallery-3RH4vu55" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram4-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-2830" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram4-169x300.jpg 169w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram4-576x1024.jpg 576w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram4.jpg 720w" sizes="auto, (max-width: 169px) 100vw, 169px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram5.jpg" data-rel="lightbox-gallery-3RH4vu55" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram5-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-2833" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram5-169x300.jpg 169w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram5-576x1024.jpg 576w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram5.jpg 720w" sizes="auto, (max-width: 169px) 100vw, 169px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram6.jpg" data-rel="lightbox-gallery-3RH4vu55" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram6-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-2835" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram6-169x300.jpg 169w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram6-576x1024.jpg 576w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram6.jpg 720w" sizes="auto, (max-width: 169px) 100vw, 169px" /></a></p>
<p>Neste exemplo nosso token para acessar a API HTTP ficou:<br />
<strong>757396508:AAHpaoyVN-95maOCax1vDPDQBnSaZd9P5r0</strong></p>
<p>Procure pelo seu bot e comece uma conversa com ele e envie uma mensagem de teste para o mesmo, pois vamos precisar descobrir o ID do seu usuário, para que ele possa lhe enviar as mensagens.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram7.jpg" data-rel="lightbox-gallery-3RH4vu55" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram7-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-2837" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram7-169x300.jpg 169w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram7-576x1024.jpg 576w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram7.jpg 720w" sizes="auto, (max-width: 169px) 100vw, 169px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram8.jpg" data-rel="lightbox-gallery-3RH4vu55" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram8-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-2838" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram8-169x300.jpg 169w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram8-576x1024.jpg 576w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram8.jpg 720w" sizes="auto, (max-width: 169px) 100vw, 169px" /></a></p>
<p>Abra em seu seu navegador a seguinte URL <em>https://api.telegram.org/bot<strong>TOKEN</strong>/getUpdates</em> para descobrir o ID do usuário que enviou a mensagem ou de um grupo.<br />
Ex.: <font size="2"><em>https://api.telegram.org/bot<strong><font color="red">757396508:AAHpaoyVN-95maOCax1vDPDQBnSaZd9P5r0</font></strong>/getUpdates</em></font></p>
<p><strong>:: Chat privado ::</strong></p>
<pre class="remontti-code">{&quot;ok&quot;:true,&quot;result&quot;:[{
	&quot;update_id&quot;:649208620,&quot;message&quot;:{
		&quot;message_id&quot;:2,&quot;from&quot;:{&quot;id&quot;:221122111,&quot;is_bot&quot;:false,&quot;first_name&quot;:&quot;Rudimar&quot;,&quot;last_name&quot;:&quot;Remontti&quot;,&quot;username&quot;:&quot;remontti&quot;,&quot;language_code&quot;:&quot;pt-br&quot;},
		&quot;chat&quot;:{&quot;id&quot;:999999999,&quot;first_name&quot;:&quot;Rudimar&quot;,&quot;last_name&quot;:&quot;Remontti&quot;,&quot;username&quot;:&quot;remontti&quot;,&quot;type&quot;:&quot;private&quot;},
		&quot;date&quot;:1541210279,&quot;text&quot;:&quot;Testando&quot;
	}
}]}</pre>
<p>ID do chat privado: <strong>999999999</strong></p>
<p>Se desejar criar um grupo também, basta adicionar seu bot a ele, após adiciona-lo envia uma mensagem como <strong>/teste</strong> para que possamos coletar o ID do grupo.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram9.jpg" data-rel="lightbox-gallery-3RH4vu55" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram9-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-2843" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram9-169x300.jpg 169w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram9-576x1024.jpg 576w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram9.jpg 720w" sizes="auto, (max-width: 169px) 100vw, 169px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram10.jpg" data-rel="lightbox-gallery-3RH4vu55" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram10-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-2844" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram10-169x300.jpg 169w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram10-576x1024.jpg 576w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram10.jpg 720w" sizes="auto, (max-width: 169px) 100vw, 169px" /></a></p>
<p><strong>:: Chat em Grupo ::</strong></p>
<pre class="remontti-code">{&quot;ok&quot;:true,&quot;result&quot;:[{
	&quot;update_id&quot;:649208622,&quot;message&quot;:{&quot;message_id&quot;:4,&quot;from&quot;:{
		&quot;id&quot;:221122111,&quot;is_bot&quot;:false,&quot;first_name&quot;:&quot;Rudimar&quot;,&quot;last_name&quot;:&quot;Remontti&quot;,&quot;username&quot;:&quot;remontti&quot;,&quot;language_code&quot;:&quot;pt-br&quot;},
		&quot;chat&quot;:{&quot;id&quot;:-1000000000000,&quot;title&quot;:&quot;Grupo Legal&quot;,&quot;type&quot;:&quot;group&quot;,&quot;all_members_are_administrators&quot;:true
	},&quot;date&quot;:1541210975,&quot;text&quot;:&quot;/teste&quot;,&quot;entities&quot;:[{&quot;offset&quot;:0,&quot;length&quot;:6,&quot;type&quot;:&quot;bot_command&quot;}
}]}</pre>
<p>ID do chat grupo: <strong>-1000000000000</strong></p>
<p>Agora que já temos o Token e o ID do chat/grupo vamos ao script de backup. Se ainda estiver com dificuldade no <a href="https://www.youtube.com/watch?v=-ylbrUyNRZE" rel="noopener noreferrer" target="_blank">vídeo onde ensino integrar com o zabbix</a> aos 52 min explico como criar o bot.</p>
<p>Não esqueça q para o bot enviar algo para você é necessários iniciar uma conversa com o mesmo.<br />
Antes faça um teste abrindo no seu navegador <em>https://api.telegram.org/botTOKEN/sendMessage?chat_id=ID&#038;text=Mensagem</em> ou diretamente pelo terminal com curl.</p>
<pre class="remontti-code"># apt install curl </pre>
<p>Ex.: Enviando mensagem para um usuário</p>
<pre class="remontti-code"># curl --silent -X POST \
 --data-urlencode &quot;chat_id=8888888&quot; \
 --data-urlencode &quot;text=Enviando para usuário&quot; \
 &quot;https://api.telegram.org/bot757396508:AAHpaoyVN-95maOCax1vDPDQBnSaZd9P5r0/sendMessage&quot;</pre>
<p>Ex.: Enviando mensagem para um grupo (Não torne o grupo público para sua segurança)</p>
<pre class="remontti-code"># curl --silent -X POST \
 --data-urlencode &quot;chat_id=-1000000000000&quot; \
 --data-urlencode &quot;text=Enviando para o Grupo&quot; \
 &quot;https://api.telegram.org/bot757396508:AAHpaoyVN-95maOCax1vDPDQBnSaZd9P5r0/sendMessage&quot;</pre>
<p>Se as mensagens chegaram estamos preparados para fazer nossos backups com o telegram.</p>
<hr>
<h3>Scripts</h3>
<p>Pacotes requeridos:</p>
<pre class="remontti-code"># apt install curl wget zip unzip</pre>
<p>Para ficar algo organizado vou criar uma pasta onde colocarei todos os scripts</p>
<pre class="remontti-code"># mkdir /etc/backups/</pre>
<p>Como normalmente eu uso o telegram mesmo que seja apenas para notificar que um backup foi feto, vou criar uma pasta chamada para fazer toda a configuração do bot nela, criei um novo script com base no <a href="https://github.com/remontti/TelegramCMD" target="_blank" rel="noopener noreferrer">código</a> que utilizei no tutorial do <a href="https://blog.remontti.com.br/3981" rel="noopener noreferrer" target="_blank">Fastnetmon</a>, assim toda vez que for chamar telegram para enviar mensagem ou arquivo basta executa-lo sem sofrimero e varias linhas. Bora prepara-ló! </p>
<h3>Preparando o script do telegram (bot)</h3>
<pre class="remontti-code"># wget https://raw.githubusercontent.com/remontti/telegramBotShell/master/telegram -O /bin/telegram
# chmod +x /bin/telegram</pre>
<p>Alterando o TOKEN:</p>
<pre class="remontti-code"># vim /bin/telegram</pre>
<p>Altere o TOKEN e o formato da compactação (zip ou tar)<br />
Altere o token:</p>
<pre class="remontti-code">TOKEN=&quot;000000000:0000000000000-0000000000000000000000000000000&quot;</pre>
<p>Escolha o metodo de compactação tar/zip</p>
<pre class="remontti-code">COMPAC=&#039;tar&#039;</pre>
<p><strong>Como usar?</strong></p>
<p><strong>-m:</strong> Para enviar uma mensagem</p>
<pre class="remontti-code"># telegram -m &quot;-ID Chat&quot; &quot;Mensagem linha 1&quot; &quot;Mensagem linha 2&quot; &quot;Mensagem linha 3&quot;
# telegram -m &quot;ID Usuário&quot; &quot;Mensagem linha 1&quot; &quot;Mensagem linha 2&quot; &quot;Mensagem linha 3&quot;</pre>
<p><strong>-f:</strong> Para enviar um arquivo</p>
<pre class="remontti-code"># telegram -f &quot;-100000000&quot; &quot;/diretorio/arquivo&quot; &quot;nome do arquivo compactado&quot; &quot;Comentário&quot;
# telegram -f &quot;12345689&quot; &quot;/var/log/syslog&quot; &quot;syslog&quot; &quot;Logs do sistema&quot;</pre>
<p>Faça seu testes! Vale lembrar que toda vez que o script do telegram envia um arquivo ele irá compactar e remover este arquivo do servidor após envio.</p>
<h3>Preparando o script para envido do backup via SSH</h3>
<pre class="remontti-code">
# apt install sshpass
# wget https://raw.githubusercontent.com/remontti/backupSSH/master/backup -O /bin/backup
# chmod +x /bin/backup</pre>
<p><strong>Como usar?</strong><br />
Ex.:</p>
<pre class="remontti-code"># backup &quot;nome para o arquivo&quot; &quot;diretório ou diretórios a salvar&quot;  &quot;usuário ssh&quot; &quot;senha ssh&quot; &quot;IP Serv&quot; &quot;Porta ssh&quot; &quot;diretorio de destino&quot;
# backup &quot;etc&quot; &quot;/etc/*&quot;  &quot;jose&quot; &quot;123456&quot; &quot;192.168.0.200&quot; &quot;22&quot; &quot;/home/jose/backup&quot;</pre>
<hr>
<h3>Backups Telegram</h3>
<hr>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2665.png" alt="♥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup de um diretório</h4>
<p>Vamos imaginar que gostaríamos de salvar o diretório /etc/frr/*</p>
<pre class="remontti-code"># vim /etc/backups/backup_frr_telegram.sh</pre>
<p>Adicionaremos apenas o ID usuário ou grupo (lembre-se que grupo sempre tem um &#8220;-&#8221; antes do ID) ex:</p>
<pre class="remontti-code">#!/bin/bash
/bin/telegram -f &quot;200000000&quot; &quot;/etc/frr/*&quot; &quot;frr&quot; &quot;Backup FRR&quot;</pre>
<p>De permissão para execução: </p>
<pre class="remontti-code"># chmod +x /etc/backups/backup_frr_telegram.sh</pre>
<p>Basta rodar agora o script </p>
<pre class="remontti-code"># /etc/backups/backup_frr_telegram.sh</pre>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/backup_frr_telegram.png" alt="" width="329" height="106" class="alignnone size-full wp-image-4812" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/backup_frr_telegram.png 329w, https://blog.remontti.com.br/wp-content/uploads/2020/08/backup_frr_telegram-300x97.png 300w" sizes="auto, (max-width: 329px) 100vw, 329px" /></p>
<p>Já já vamos ver como adiciona-lo no CRON (Agenda) para tornar isso automático. </p>
<hr>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2665.png" alt="♥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup de múltiplos diretórios</h4>
<p>Vamos imaginar que gostaríamos de salvar todos os diretórios do bind9, para isso basta adicionar todos os diretórios/arquivos entre aspas <em>&#8220;/etc/bind/* /usr/share/dns/* /var/cache/bind/*&#8221; </em></p>
<pre class="remontti-code"># vim /etc/backups/backup_bind_telegram.sh</pre>
<p>Altere o ID usuário/grupo (lembre-se que grupo sempre tem um &#8220;-&#8221; antes do ID) ex:</p>
<pre class="remontti-code">#!/bin/bash
/bin/telegram -f &quot;200000000&quot; &quot;/etc/bind/* /usr/share/dns/* /var/cache/bind/*&quot; &quot;ns1&quot; &quot;Backup Bind&quot;</pre>
<p>De permissão para execução: </p>
<pre class="remontti-code"># chmod +x /etc/backups/backup_bind_telegram.sh</pre>
<p>Basta rodar agora o script </p>
<pre class="remontti-code"># /etc/backups/backup_bind_telegram.sh</pre>
<hr>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2665.png" alt="♥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup de um banco de dados Mysql/MariaDB</h4>
<p>Neste exemplo vamos fazer backup do banco de dados <strong>&#8220;radius&#8221;</strong>. Altere as variáveis informando usuário/senha do seu banco de dados bem como nome do banco e ID do telegram.</p>
<pre class="remontti-code">#!/bin/bash
# Autor: remontti.com.br
# --------------------------------------
# USUARIO  DO BANCO DE DADOS
USER_DB=&#039;root&#039;
# SENHA DO BANCO DE DADOS
SENHA_DB=&#039;senha&#039;
# NOME DO BANCO DE DADOS
NOME_BANCO=&#039;radius&#039;
# NOME PARA O BACKUP
NOME_DO_BKP=&#039;Freeradius&#039;
# ID TELEGRAM
ID_TELEGRAM=&#039;-123456789000&#039;
# --------------------------------------
DATABKP=`date +%Y-%m-%d`
NOME_BD=&quot;/tmp/${NOME_BANCO}.${DATABKP}.tar.gz&quot;
mysqldump -h 127.0.0.1 -u ${USER_DB} -p${SENHA_DB} -B ${NOME_BANCO} &gt; /tmp/${NOME_BANCO}.${DATABKP}.sql 
/bin/telegram -f &quot;${ID_TELEGRAM}&quot; &quot;/tmp/${NOME_BANCO}.${DATABKP}.sql&quot; &quot;${NOME_DO_BKP}&quot; &quot;${NOME_BANCO}&quot; &amp;&gt;/dev/null
rm -f /tmp/*.sql &amp;&gt;/dev/null</pre>
<hr>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2665.png" alt="♥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup de &#8220;todos&#8221; os banco de dados Mysql/MariaDB</h4>
<p>Neste exemplo vamos fazer backup de &#8220;todos&#8221; os bancos de dados do servidor.<br />
Perceba que o comando: </p>
<pre class="remontti-code"># ls -d /var/lib/mysql/*/ |cut -d / -f 5</pre>
<p>Listará todas as bases, porém o com &#8220;grep -v&#8221; ignoro alguns bancos que não acho necessário.</p>
<pre class="remontti-code"># ls -d /var/lib/mysql/*/ |cut -d / -f 5 |grep -v mysql |grep -v performance_schema</pre>
<p>Altere as variáveis informando usuário/senha do seu banco de dados bem como ID do telegram.</p>
<pre class="remontti-code">#!/bin/bash
# Autor: remontti.com.br
# --------------------------------------
# USUARIO  DO BANCO DE DADOS
USER_DB=&#039;root&#039;
# SENHA DO BANCO DE DADOS
SENHA_DB=&#039;senha&#039;
# NOME PARA O BACKUP
NOME_DO_BKP=&#039;ServidorWeb&#039;
# ID TELEGRAM
ID_TELEGRAM=&#039;-123456789000&#039;
# --------------------------------------

for BANCO in `ls -d /var/lib/mysql/*/ |cut -d / -f 5 |grep -v mysql |grep -v performance_schema`
do
    DATABKP=`date +%Y-%m-%d`
    NOME_BD=&quot;/tmp/${BANCO}.${DATABKP}.tar.gz&quot;
    mysqldump -h 127.0.0.1 -u ${USER_DB} -p${SENHA_DB} -B ${BANCO} &gt; /tmp/${BANCO}.${DATABKP}.sql 
done;
/bin/telegram -f &quot;${ID_TELEGRAM}&quot; &quot;/tmp/*.sql&quot; &quot;${NOME_DO_BKP}&quot; &quot;Backup BDs&quot; 
rm -f /tmp/*.sql &amp;&gt;/dev/null</pre>
<hr>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2665.png" alt="♥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup do Zabbix-Server (Apenas do que interessa)</h4>
<p>Para o backup do zabbix utilizo um script do <a href="https://github.com/maxhq/zabbix-backup">maxhq</a> que faz um dump apenas da parte da base que nos interessa, isso significa que você não terá salvo o historio das &#8220;coisa&#8221;! Porém realizei um <a href="https://github.com/remontti/zabbix-backup" rel="noopener" target="_blank">fork</a> do projeto qual fiz alguns ajustes para dar suporte ao zabbix 5.<br />
Vamos baixa-lo em nosso diretório:</p>
<pre class="remontti-code"># cd /etc/backups/ 
# wget https://raw.githubusercontent.com/remontti/zabbix-backup/master/zabbix-dump
# chmod +x /etc/backups/zabbix-dump</pre>
<p>Crie seu script</p>
<pre class="remontti-code"># vim /etc/backups/backup_zbx.sh</pre>
<pre class="remontti-code">#!/bin/bash
# ----Config ----
ID_TELEGRAM=&#039;-123456789000&#039;
# ---------------
/etc/backups/zabbix-dump -o /tmp &amp;&gt;/dev/null
/bin/telegram -f &quot;${ID_TELEGRAM}&quot; &quot;/tmp/zabbix_cfg*.gz&quot; &quot;zabbix&quot; &quot;Backup Bind&quot;
rm -f /tmp/*.gz</pre>
<p>Permissões:</p>
<pre class="remontti-code"># chmod +x /etc/backups/backup_zbx.sh</pre>
<p>Execute:</p>
<pre class="remontti-code"># /etc/backups/backup_zbx.sh</pre>
<hr>
<h3>Backups SSH</h3>
<hr>
<p>Neste caso tenho o um servidor que irá receber nossos backups, sendo:</p>
<pre class="remontti-code-plain">IP: 172.16.0.100 
Porta SSH: 60321
Usuários: jose
Senha: 123456
Diretório onde ficará os backups: /home/jose/backup/</pre>
<hr>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2665.png" alt="♥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup de um diretório</h4>
<p>Vamos fazer o mesmo backup que fizemos anterior do &#8220;/etc/frr/*&#8221;.</p>
<pre class="remontti-code"># vim /etc/backups/backup_frr_ssh.sh</pre>
<pre class="remontti-code">#!/bin/bash
# /bin/backup &quot;todo_etc&quot; &quot;/etc/*&quot; &quot;jose&quot; &quot;123456&quot; &quot;172.16.0.100&quot; &quot;60321&quot; &quot;/home/jose/backup&quot;</pre>
<p>Permissão: </p>
<pre class="remontti-code"># chmod +x /etc/backups/backup_frr_ssh.sh</pre>
<p>Execute:</p>
<pre class="remontti-code"># /etc/backups/backup_frr_ssh.sh</pre>
<hr>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2665.png" alt="♥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup de múltiplos diretórios</h4>
<p>Ex backup DNS bind9</p>
<pre class="remontti-code"># vim /etc/backups/backup_bind_ssh.sh</pre>
<pre class="remontti-code">#!/bin/bash
# /bin/backup &quot;ns1_dns&quot; &quot;/etc/bind/* /usr/share/dns/* /var/cache/bind/*&quot; &quot;jose&quot; &quot;123456&quot; &quot;172.16.0.100&quot; &quot;60321&quot; &quot;/home/jose/backup&quot;</pre>
<p>Permissão: </p>
<pre class="remontti-code"># chmod +x /etc/backups/backup_bind_ssh.sh</pre>
<p>Execute:</p>
<pre class="remontti-code"># /etc/backups/backup_bind_ssh.sh</pre>
<hr>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2665.png" alt="♥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup de um banco de dados Mysql/MariaDB</h4>
<pre class="remontti-code"># vim /etc/backups/backup_bd_ssh.sh</pre>
<pre class="remontti-code">#!/bin/bash
# Autor: remontti.com.br
# --------------------------------------
# USUARIO  DO BANCO DE DADOS
USER_DB=&#039;root&#039;
# SENHA DO BANCO DE DADOS
SENHA_DB=&#039;senha&#039;
# NOME DO BANCO DE DADOS
NOME_BANCO=&#039;radius&#039;
# NOME PARA O BACKUP
NOME_DO_BKP=&#039;Freeradius&#039;
# ID TELEGRAM
ID_TELEGRAM=&#039;-123456789000&#039;
#----Servidor que recebe o Backup ------
# Usuários SSH
USER_SSH=&#039;jose&#039;
# Senha SSH
PASS_SSH=&#039;senha&#039;
# Porta SSH
PORT_SSH=&#039;22&#039;
# Diretório onde ira salvar
DIR_SSH=&#039;/home/jose/backup&#039;
# IP do servidor 
IP_SSH=&#039;172.16.0.100&#039;
# --------------------------------------
DATABKP=`date +%Y-%m-%d`
NOME_BD=&quot;/tmp/${NOME_BANCO}.${DATABKP}.tar.gz&quot;
mysqldump -h 127.0.0.1 -u ${USER_DB} -p${SENHA_DB} -B ${NOME_BANCO} &gt; /tmp/${NOME_BANCO}.${DATABKP}.sql 
backup &quot;${NOME_DO_BKP}&quot; &quot;/tmp/${NOME_BANCO}.${DATABKP}.sql&quot; &quot;${USER_SSH}&quot; &quot;${PASS_SSH}&quot; &quot;${IP_SSH}&quot; &quot;${PORT_SSH}&quot; &quot;${DIR_SSH}&quot;
rm -f /tmp/*.sql &amp;&gt;/dev/null</pre>
<p>Permissão: </p>
<pre class="remontti-code"># chmod +x /etc/backups/backup_bd_ssh.sh</pre>
<p>Execute:</p>
<pre class="remontti-code"># /etc/backups/backup_bd_ssh.sh</pre>
<hr>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2665.png" alt="♥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup de &#8220;todos&#8221; os banco de dados Mysql/MariaDB</h4>
<pre class="remontti-code"># vim /etc/backups/backup_bdall_ssh.sh</pre>
<pre class="remontti-code">#!/bin/bash
# Autor: remontti.com.br
# --------------------------------------
# USUARIO  DO BANCO DE DADOS
USER_DB=&#039;root&#039;
# SENHA DO BANCO DE DADOS
SENHA_DB=&#039;senha&#039;
# NOME PARA O BACKUP
NOME_DO_BKP=&#039;ServidorWeb&#039;
# ID TELEGRAM
ID_TELEGRAM=&#039;-123456789000&#039;
#----Servidor que recebe o Backup ------
# Usuários SSH
USER_SSH=&#039;jose&#039;
# Senha SSH
PASS_SSH=&#039;senha&#039;
# Porta SSH
PORT_SSH=&#039;22&#039;
# Diretório onde ira salvar
DIR_SSH=&#039;/home/jose/backup&#039;
# IP do servidor 
IP_SSH=&#039;172.16.0.100&#039;
# --------------------------------------
 
for BANCO in `ls -d /var/lib/mysql/*/ |cut -d / -f 5 |grep -v mysql |grep -v performance_schema`
do
    DATABKP=`date +%Y-%m-%d`
    NOME_BD=&quot;/tmp/${BANCO}.${DATABKP}.tar.gz&quot;
    mysqldump -h 127.0.0.1 -u ${USER_DB} -p${SENHA_DB} -B ${BANCO} &gt; /tmp/${BANCO}.${DATABKP}.sql 
done;
backup &quot;${NOME_DO_BKP}&quot; &quot;/tmp/*.sql&quot; &quot;${USER_SSH}&quot; &quot;${PASS_SSH}&quot; &quot;${IP_SSH}&quot; &quot;${PORT_SSH}&quot; &quot;${DIR_SSH}&quot;
rm -f /tmp/*.sql &amp;&gt;/dev/null</pre>
<p>Permissão: </p>
<pre class="remontti-code"># chmod +x /etc/backups/backup_bdall_ssh.sh</pre>
<p>Execute:</p>
<pre class="remontti-code"># /etc/backups/backup_bdall_ssh.sh</pre>
<hr>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2665.png" alt="♥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup do Zabbix-Server (Apenas do que interessa)</h4>
<p>Para o backup do zabbix utilizo um script do <a href="https://github.com/maxhq/zabbix-backup">maxhq</a> que faz um dump apenas da parte da base que nos interessa, isso significa que você não terá salvo o historio das &#8220;coisa&#8221;! Porém realizei um <a href="https://github.com/remontti/zabbix-backup" rel="noopener" target="_blank">fork</a> do projeto qual fiz alguns ajustes para dar suporte ao zabbix 5.<br />
Vamos baixa-lo em nosso diretório:</p>
<pre class="remontti-code"># cd /etc/backups/ 
# wget https://raw.githubusercontent.com/remontti/zabbix-backup/master/zabbix-dump
chmod +x /etc/backups/zabbix-dump</pre>
<p>Crie seu script</p>
<pre class="remontti-code"># vim /etc/backups/backup_zbx_ssh.sh</pre>
<pre class="remontti-code">#!/bin/bash
# Autor: remontti.com.br
#----Servidor que recebe o Backup ------
# Usuários SSH
USER_SSH=&#039;jose&#039;
# Senha SSH
PASS_SSH=&#039;senha&#039;
# Porta SSH
PORT_SSH=&#039;22&#039;
# Diretório onde ira salvar
DIR_SSH=&#039;/home/jose/backup&#039;
# IP do servidor 
IP_SSH=&#039;172.16.0.100&#039;
# --------------------------------------
/etc/backups/zabbix-dump  -o /tmp &amp;&gt;/dev/null
backup &quot;zabbix&quot; &quot;/tmp/zabbix_cfg*.gz&quot; &quot;${USER_SSH}&quot; &quot;${PASS_SSH}&quot; &quot;${IP_SSH}&quot; &quot;${PORT_SSH}&quot; &quot;${DIR_SSH}&quot;
rm -f /tmp/*.gz</pre>
<p>Permissões:</p>
<pre class="remontti-code"># chmod +x /etc/backups/backup_zbx_ssh.sh</pre>
<p>Execute:</p>
<pre class="remontti-code"># /etc/backups/backup_zbx_ssh.sh</pre>
<hr>
<p>Bom com base nesses scripts e um pouco de imaginação acredito que você vai conseguir fazer muita coisa, mas como automatizar? Veremos isso agora!</p>
<h3>Agendando o backup (Cron)</h3>
<p>Vamos agendar nosso(s) scripts para serem feitos em algumas situações:</p>
<p>Execute o comando crontab -e.</p>
<pre class="remontti-code"># crontab -e</pre>
<p>A primeira vez que você rodar o comando será solicitado qual editor você deseja, vou selecionar o nano &#8220;1&#8221; (ou apenas de Enter) por ser o mais fácil. Vale a leitura também: <a href="https://blog.remontti.com.br/90" rel="noopener noreferrer" target="_blank">Agendamento CRON / CRONTAB</a> e <a href="https://help.ubuntu.com/community/CronHowto" rel="noopener noreferrer" target="_blank">CronHowto</a></p>
<pre class="remontti-code">Select an editor.  To change later, run &#039;select-editor&#039;.
  1. /bin/nano        &lt;---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny

Choose 1-3 [1]: 1 [ENTER]</pre>
<p>Você precisa entender a ordem dos valores interpretado pelo cron:</p>
<pre class="remontti-code"># m h  dom mon dow   command
# * *  *   *   *     comando
# | |  |   |   |     |_ _ _ _ Comando a ser executado
# | |  |   |   |_ _ _ _ _ _ _ Semana (0-7 - domingo à domingo)
# | |  |   |_ _ _ _ _ _ _ _ _ Mês (01-12)
# | |  |_ _ _ _ _ _ _ _ _ _ _ Dia (01-31)
# | |_ _ _ _ _ _ _ _ _ _ _ _ _Hora (00-23)
# |_ _ _ _ _ _ _ _ _ _ _ _ _ _Minuto (00-59)
</pre>
<h5>Alguns exemplos</h5>
<p>Executar um backup todos os dias às 20h e 30min:</p>
<pre class="remontti-code">30 20  *   *   *     /etc/backups/backup_script.sh</pre>
<p>Todo dia primeiro do mês às 00h e 45min:</p>
<pre class="remontti-code">45 00  1   *   *     /etc/backups/backup_script.sh</pre>
<p>Toda segunda-feira às 04h:</p>
<pre class="remontti-code">00 04  *   1   *     /etc/backups/backup_script.sh</pre>
<p>Curtiu o conteúdo? Quer me ajudar? <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Participe do canal no <a href="https://t.me/blogremontti" rel="noopener noreferrer" target="_blank">telegram</a> para ficar atualizado sempre que publicar um novo tutorial. </p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p>O post <a href="https://blog.remontti.com.br/4791">Criando backups de forma simples e enviando para o Telegram ou servidor via SSH</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/4791/feed</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
	</channel>
</rss>
