Hoje estou apresentando uma posição confortável para automatizar poupança nosri dados mysql banco de dados, para além do original script pode ser adicionado ao final da emergência e à compressão de cada uma das bases de dados em poucas linhas a cópia em um servidor remoto e uma caixa de mensagem no nosso relatório e-mail.
#! / Bin / bash
# Shell script para backup de dados MySql
# Para arquivos de backup de dados Nysql / dir backup e depois pegar pelo seu
# Script. Você pode pular algumas bases de dados de backup também.
# Para mais informação consulte (Instalação info):
# Http: / / www.cyberciti.biz/nixcraft/vivek/blogger/2005/01/mysql-backup-script.html
# Última actualização: agosto - 2005
# -----------------------
# Este é um script gratuito sob a GNU GPL versão 2.0 ou acima
# Copyright (C) 2004, 2005 nixCraft projecto
# Feedback / comentários / sugestões: http://cyberciti.biz/fb/
# -------------------------
# Este script faz parte do shell script nixCraft recolha (NSSC)
Visite # http://bash.cyberciti.biz/ para mais informações.
# Atualizado Set - 2007 por CyberTek - http://www.cybertek.it
# -------------------------
Myuser = "SET-mysql-nome de usuário" # USERNAME
Mypass = "SET-PASSWORD" # PASSWORD
Myhost = "localhost" # Hostname
# Linux bin caminhos, esta mudança se não puder ser autodetectado através do qual comando
MYSQL = "$ (que mysql)"
Mysqldump = "$ (que mysqldump)"
Chown = "$ (que chown)"
Chmod = "$ (que chmod)"
GZIP = "$ (que gzip)"
# Backup Dest diretório, se você alterar esta localização someother
DEST = "/ backup"
# Principal backup diretório onde será armazenado
MBD = "$ DEST / mysql"
# Get hostname
Host = "$ (hostname)"
# Obter dados em dd-mm-yyyy formato
AGORA = "$ (date +"% d -% m -% Y ")"
# Arquivo para armazenar backup atual arquivo
FILE = ""
# Loja lista de bases de dados
DBS = ""
# NÃO BACKUP essas bases
Iggy = "teste"
[- D $ DMO] & & mkdir - p $ MBD | |:
# Somente o root pode acessá-lo!
Chown $ 0,0 - R $ DEST
$ Chmod 0600 $ DEST
# Tire todas primeira lista de dados
DBS = "$ ($ mysql-u-h myuser $ $ $ myhost-p-mypass EEB" SHOW DATABASES ")
por db em $ DBS
fazer
skipdb = - 1
if [ "$ iggy!" = ""];
então
for i in $ iggy
fazer
[ "$ Db" = = "$ i"] & & skipdb = 1 | |:
feito
fi
if [ "$ skipdb" = = "-1"]; então
FILE = "$ DMO / $ db. $ HOST. NOW.gz $"
# Do InOne emprego em todos os tubos,
# Ligue para mysql usando mysqldump para selecionar banco de dados MySQL
# E com isso a canalização gz arquivo no backup dir:)
Mysqldump $ - $ u myuser - myhost h $ - $ $ p mypass db | $ GZIP - 9> $ FILE
fi
feito
# Copiar no servidor remoto
echo'******************* Example_Backup *******************'> / root / mybackup.txt
echo \>> / root / mybackup.txt
data>> / root / mybackup.txt
echo \>> / root / mybackup.txt
'********************* Detalhes *********************' echo>> / root / mybackup.txt
# Lembre-se que o scp comando você não pode especificar a senha, se você tem uma chave apuradas no sistema alvo
# Senão você terá que fazer
scp / backup / mysql / * root@example.dom: / home / backup / exemplo / mysql /
oh-ls / backup / mysql />> / root / mybackup.txt
echo'************************************************ * '>> / root / mybackup.txt
# Manda um e-mail com o relatório do trabalho realizado
mail-s "Exemplo Backup" example@example.dom </ root / mybackup.txt
# Remover após upload
rm-f / backup / mysql / *



































