Backup de bases MySQL

Script criado para efetuar dump de todas as bases MySQL. Utiliza a aplicação sendEmail ( http://caspian.dotconf.net/menu/Software/SendEmail/ ) para envio do log de execução. Para instalação no Debian, executar: # apt-get update && apt-get install sendemail Necessário criar um usuário para efetuar o dump das bases com as permissões corretas, descritas no próprio script. Cria automaticamente a estrutura de backup dentro de /opt, sendo: - /opt/backup/mysql o diretório de backup das bases - /opt/backup/log o log de backup Testado somente no Debian.

Por: Jonas Oliani


Ferramenta de backup do HD para dispositivos externos

Este é um script simples feito em bash que utiliza as ferramentas zenity e rsync (que já vem em muitas distribuições) e foi feito para backup de dados pessoais (fotos, músicas, documentos, arquivos, etc) de um computador doméstico para um dispositivo externo (HD externo, pendrive, cartão de memória, etc). 1) O que o script não faz ou quando não é recomendado: 1.1) Execução de forma agendada, pois é interativo; 1.2) Copia para volumes de rede e/ou criptografados. Apesar do rsync permitir estes recursos, não fiz este teste; 1.3) Sincronização dos 2 lados. O rsync também permite isso, mas não é o caso desta ferramenta (pelo menos nesta versão); 1.4) Backup de arquivos de programas e/ou componentes sistema operacional. Mexer nestes arquivos com os programas em execução pode gerar resultados indesejáveis. Para isso utilize ferramentas como clonezilla e faça um backup do teu sistema; RESUMINDO: script recomendado apenas para backup de documentos pessoais sentido computador doméstico (PC, notebook, etc) para dispositivos externos plugados. 2) Requisitos 2.1) shell: bash ou compatível 2.2) ferramentas: rsync e zenity (presentes nativamente no ubuntu) 3) preparação 3.1) Primeiro definir 2 diretórios: 3.1.1) diretório onde o script irá rodar (Ex: $HOME/scripts) 3.1.2) diretório onde ficarão os links do que será backupeado (Ex: $HOME/backups/rsync) 3.2) No diretório dos links de backup (item 3.1.2), criar os links para as pastas e arquivos que você deseja fazer backup: No meu caso, estou criando links simbólicos, com este comando: ln -s <diretorio_origem> link Se os locais que você quiser copiar estiver em um hd diferente de onde roda a aplicação, aí você deve usar hardlinks, dúvidas? consulta o bom e velho man ln! Um exemplo de como ficou meus links de backup: luis@jupiter:~/backups/rsync$ ll drwxrwxr-x 2 luis luis 4096 Dez 21 13:03 ./ drwxrwxr-x 5 luis luis 4096 Nov 12 09:19 ../ lrwxrwxrwx 1 luis luis 30 Jul 15 17:54 arquivos -> /home/data/restricted/arquivos/ lrwxrwxrwx 1 luis luis 17 Jul 15 20:09 clouds -> /home/luis/clouds/ lrwxrwxrwx 1 luis luis 29 Jul 15 17:54 imagens -> /home/data/restricted/imagens/ lrwxrwxrwx 1 luis luis 28 Jul 15 17:55 musica -> /home/data/restricted/musica/ -rw-rw-r-- 1 luis luis 90 Jul 3 16:38 readme.txt lrwxrwxrwx 1 luis luis 28 Jul 15 17:55 videos -> /home/data/restricted/videos/ E este arquivo readme.txt, tem algum problema com ele? Nenhum, o script só leva em conta os links deste diretório. 4) Configurando o programa: aqui a gente vai editar algumas linhas do programa para adaptar ao seu ambiente. 4.1) Definição de alguns diretórios: preenche estas 3 variáveis com os diretórios em 3.1 e o diretório onde é montado suas mídias externas (no meu caso em /media/luis) # # definição de paths: # # $PATH_APP : onde roda o aplicativo # $PATH_OR_BACKUP : diretório com os links para volumes a serem backupeados # $PATH_MIDIAS : local onde são montadas as mídias de backup PATH_APP=/home/$NAME_USER/scripts PATH_OR_BACKUP=/home/$NAME_USER/backups/rsync PATH_MIDIAS=/media/$NAME_USER 4.2) Sintaxe do comando rsync que você vai utilizar, neste meu caso ele copia (ou atualiza) os diretórios selecionados no dispositivo externo, deixando-os iguais e só gera alguma mensagem de andamento do backup se houver algum erro. # definição do comando rsync RSCMD="/usr/bin/rsync -auq --delete" 4.3) Seleção do que copiar: esta parte é opcional. Antes de iniciar a cópia, é gerada uma caixa de díálogo perguntando quais itens você deseja copiar. Dependendo do tamanho de cada diretório e de teus dispositivos, você pode deixar alguns itens previamente selecionados. Para configurar isso basta editar este trecho do código: # itens backpeados por default (opcional) lista_bkp_def="imagens musica arquivos" # configuração de lista para dispositivo específico if [ "${DISP}" = "hde_lua" ];then lista_bkp_def="imagens musica arquivos" elif [ "${DISP}" = "hde_io" ];then lista_bkp_def="imagens musica arquivos" elif [ "${DISP}" = "hde_europa" ];then lista_bkp_def="imagens musica arquivos videos" elif [ "${DISP}" = "hde_titan" ];then lista_bkp_def="imagens musica arquivos videos" fi Na variável $lista_bkp_def eu defino quais itens vão ficar selecionados para backup. Esta lista pode mudar de acordo com os nomes dos rótulos dos dispositivos, que estão nos if's do código. obs: pelo gerenciador de arquivos (nautilus) é possível configurar os rótulos dos dispositivos. 5) Execução Terminado os preparativos, agora vamos rodar. Plugue um disposivo externo e faça um teste. Não esquecer de setar a permissão de execução: chmod u+x bkp2hde.sh obs: se durante a execução você receber esta mensagem "Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.", não tem problema, pode continuar normalmente. É só um aviso do zenity. 5.1) Iniciando: ./bkp2hde.sh 5.2) É aberta uma caixa de diálogo (zenity) com os nomes dos dispositivos, se não tiver o dispositivo que você plugou, veja se você configurou a variável $PATH_MIDIAS corretamente (4.1). Após você escolher o dispositivo vem esta mensagem: luis@jupiter:~/scripts$ ./bkp2hde.sh Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged. Dispositivo "hde_io" selecionado. Identificado o dispositivo:hde_io... Tecle <ctrl>+c para sair ou enter para para continuar Pressione qualquer tecla. 5.3) É aberta uma caixa de diálogo (zenity) para seleção dos diretórios que serão copiados. Se eles não aparecerem, veja se você configurou a variável $PATH_OR_BACKUP corretamente (4.1). No meu caso, escolhi as pastas imagens e musicas. Vem então estas linhas com os teus parâmetros de backup. Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged. 21/12/2016 14:23:08;----------------- 21/12/2016 14:23:08;Configurações de backup Dispositivo : hde_io itens de backup : imagens musica diret. destino : /media/luis/hde_io/backup_jupiter_luis comando : /usr/bin/rsync -auq --delete Tecle <ctrl>+c para sair ou enter para para iniciar Tudo ok? Então pressione <enter> e é só aguardar 5.4) Andamento do backup: aparecem linhas como estas 21/12/2016 14:26:03;Início 21/12/2016 14:26:03;------------------- 21/12/2016 14:26:03;backpeando imagens 21/12/2016 14:26:13;------------------- 21/12/2016 14:26:13;backpeando musica 21/12/2016 14:28:20;Concluido Esta última linha indica que o backup teve sucesso 5.5) No dispositivo externo aparece este diretório na raiz: ./backup_<hostame>_<user> Ex: no meu caso ficou assim ./backup_jupiter_luis Então se você rodar este script em outra máquina, vai armazenar os arquivos em diretórios diferentes. 6) Atualizações que pretendo fazer futuramente: 6.1) Ao selecionar os diretórios para backup, mostrar o espaço que eles ocupam; 6.2) Ao selecionar as mídias de backup, mostrar a ocupação e o espaço disponível; 6.3) Testar em dispositivos externos de rede; 6.4) Gerar versão não interativa, podendo passar os argumentos de backup através de comando de linha ou arquivos de configuração Então é isso, that's all folks! Espero que lhe ajudem! _/\_

Por: Luis Henrique Pessoa


Backup de partiçoes remotas

Criei este script simples a fim de me auxiliar em um backup com montagem automática de partições remotas, espero que possa auxiliar alguém assim como me auxiliou. Ele depende de se ter instalado no sistema o sshfs para funcionar e acesso ao servidor por certificado para não utilização de senhas. Para rodá-lo remotamente usei o comando: nohup ./Backup.sh & Assim fui verificando logs sem ter de abrir uma nova janela do terminal.

Por: Jaci Aparecido Salomao


rsyncdev-pt_BR_v6.sh - Um baixador automático de ISOs de Sabayon Linux, versão 6

Este shell script baixa automaticamente as mais recentes "Daily Builds" do Sabayon Linux a partir do servidor rsync brasileiro. Ele é baseado no script do holandês Joost Ruis e divulgado por Patrick Tuithof, o qual traduzi e introduzi pequenas modificações, para agora, baixar as novas ISOs do Sabayon LxQT. Agora ele também atualiza a ISO (caso ela já esteja baixada na pasta). Esta é a versão 6, derivada ampliada da versão obsoleta 4 (a qual substitui): https://www.vivaolinux.com.br/contribuir/scripts/verScript.php?codigo=6314 Você pode baixar o script original, em inglês, no endereço do Facebook: https://www.facebook.com/download/901835993246025/rsyncdev Observações: editado com Geany e testado em Sabayon Linux, versão 16.08, atualizado até a Versão 16.09, Rolling Release. 2016. Pode ser modificado para baixar outras distros, desde que elas estejam hospedadas em servidores rsync. Requer que o pacote rsync esteja previamente instalado.

Por: Alberto Federman Neto.


Backup dinâmico de banco de dados MySQL

Olá, Esse é um script para fazer backup dos banco de dados do MySQL de forma dinâmica. Mas o que isso quer dizer? Quer dizer que não é especificado a lista de banco de dados que deve ser feito backup, é pego uma lista de todos os bancos dinamicamente, menos os padrões, e feito um backup de forma individual. Enjoy ;)

Por: Alessandro Librelato


Backup RSYNC

Esse script faz o backup de pastas selecionadas de um servidor Linux e sincroniza com outro servidor Linux utilizando RSYNC. Ao concluir a sincronização ele faz o envio de email colocando em anexo o arquivo do log do backup e se ele foi bem ou mal sucedido. Obs.: para funcionar corretamente deve-se editar o script conforme seu ambiente.

Por: Cristian






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts