Hoxe eu presento unha base de datos accesible amplia automatizar aforro da base de datos mysql nosri, ademais do guión orixinal poden ser engadidos ao final de recuperación e compactación de bases de datos individuais en poucas liñas a copia nun servidor remoto e unha caixa de mensaxe no noso informe e-mail.
# / Bin / bash
# Shell script para backup de base de datos MySQL
# Para base de datos arquivos para backup Nysql / dir backup e despois incorporarse á súa
Script #. Podes saltar a partir dalgunhas bases de copia de seguridade tamén.
# Para máis información consulte (Información de Instalación)
# Http: / / www.cyberciti.biz/nixcraft/vivek/blogger/2005/01/mysql-backup-script.html
# Última actualización: agosto - 2005
# -----------------------
# Este é un shell scripts libre baixo a licenza GNU GPL versión 2.0 ou superior
# Copyright (C) 2004, nixCraft proxecto 2005
# Feedback comentario / suxestións: http://cyberciti.biz/fb/
# -------------------------
# Este script fai parte da colección nixCraft script shell (NSSC)
# Http: / bash.cyberciti.biz / / Visita para máis información.
# Actualizado en outubro - 2007 por CyberTek - http://www.cybertek.it
# -------------------------
Meu_usuário = "Set-mysql-nome de usuario" USERNAME #
Minhasenha = "Set PASSWORD" PASSWORD #
Myhost = "localhost" # hostname
# Linux camiños bin, se este cambio non pode ser detectado automaticamente por Cal comando
MySQL = "$ (que MySQL)"
Mysqldump = "$ (Que mysqldump)"
Chown = "$ (Que chown)"
Chmod = "$ (Que chmod)"
GZIP = "$ (Que gzip)"
# Directorio Desta Backup, cambiar isto se ten someother local
DEST = "/ backup"
# Principais backup directorio onde serán gardados
MBD = "$ DEST / mysql"
# Get hostname
HOST = "$ hostname ()"
# Obter o formato de data dd-mm-yyyy
AGORA = $ (date "+% d -% m" -% Y ")"
# Arquivo para almacenar arquivos de copia de seguridade actual
FILE = ""
# Store lista de bases de datos
DBS = ""
# NON backup destes bancos de datos
Iggy = "proba"
[! - D $ MBD] & & mkdir - p $ MBD | |:
# Raíz Só pode acceder-lo!
Chown 0.0 - R $ DEST $
Chmod $ 0600 $ DEST
# Get toda a lista primeiro banco de datos
DBS = "$ ($ mysql-u meu_usuário-h $ myhost mypass p-BSE 'show $ bases de datos')"
por db en $ DBS
C
skipdb = - 1
if ["$ Iggy! =" "];
a continuación
for i in $ Iggy
C
["$ BD" = "$ i"] & & skipdb = | 1 |:
feito
fi
if ["$ skipdb" = "1"] then
FILE = "$ MBD / db $. $ HOST. NOW.gz $"
# Facer todo o traballo Inoni en tubos,
# Entra ao mysql usando mysqldump para base de datos mysql seleccionar
# E canaliza-lo para fóra gz arquivo no directorio de backup:)
- U $ $ myuser mysqldump - myhost h - $ p $ db mypass $ $ | 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
Detalles *********************''********************* echo>> / root / mybackup.txt
# Lembre que o comando scp non pode especificar o contrasinal, no caso de que teña desmarcada unha clave no sistema de destino
# Se non o fai
/ Backup scp mysql / root@example.dom *: / home / backup / example / mysql /
Oh-ls / backup / mysql />> / root mybackup.txt /
echo'************************************************ * '>> / root / mybackup.txt
# Envía un correo cos informes dos traballos executados
Mail-s "Exemplo example@example.dom <" Backup / root mybackup.txt /
# Eliminar despois de carga
rm-f / backup / mysql / *



































