Hoy me presento una posición cómoda base de datos para automatizar el ahorro nosri base de datos mysql, además del guión original se pueden añadir al final del rescate y la compresión de cada uno de los bases de datos en pocas líneas la copia en un servidor remoto y un cuadro de mensaje en nuestro informe correo electrónico.
#! / Bin / bash
# Shell script para copia de seguridad de base de datos MySql
# Para Nysql archivos de copia de seguridad de bases de datos a / de copia de seguridad y, posteriormente, dir recoger su
# Script. Usted puede saltarse las pocas bases de datos de copia de seguridad también.
# Para más información por favor vea (información de instalación):
# Http: / / www.cyberciti.biz/nixcraft/vivek/blogger/2005/01/mysql-backup-script.html
# Última actualización: agosto - 2005
# -----------------------
# Este es un script de shell libre bajo licencia GNU GPL versión 2.0 o superior
# Copyright (C) 2004, 2005 nixCraft proyecto
# Comentarios / comentarios / sugerencias: http://cyberciti.biz/fb/
# -------------------------
# Este script es parte del script de shell nixCraft colección (NSSC)
Visita # http://bash.cyberciti.biz/ para más información.
Actualización # sep - 2007 por CyberTek - http://www.cybertek.it
# -------------------------
Myuser = "SET-MYSQL nombre de usuario" # USUARIO
Mypass = "SET PASSWORD" # CONTRASEÑA
MyHOST = "localhost" # Nombre de la máquina
# Linux bin caminos, este cambio si no se puede automáticamente a través de comandos que
MYSQL = "$ (que mysql)"
Mysqldump = "$ (que mysqldump)"
Chown = "$ (que chown)"
CHMOD = "$ (que chmod)"
GZIP = "$ (que gzip)"
# Directorio de destino de copia de seguridad, este cambio si tiene someother ubicación
DEST = "/ backup"
# Principal del directorio donde se almacenará la copia de seguridad
MBD = "$ DEST / mysql"
# Obtener el nombre de host
Host = "$ (hostname)"
# Obtener datos en dd-mm-aaaa formato
AHORA = "$ (date +"% d -% m -% Y ")"
# Archivo para guardar el archivo de copia de seguridad actual
FILE = ""
# Lista de tiendas de las bases de datos
DBS = ""
# NO BACKUP estas bases de datos
IGGY = "prueba"
[- D $ DMO] & & mkdir - MBD $ p | |:
# Sólo root puede acceder a él!
Chown $ 0.0 - R $ DEST
$ Chmod 0600 $ DEST
# Obtener todos los datos primera lista
DBS = "$ ($ mysql-u-h myuser $ $ $ MyHOST-p-mypass EEB" mostrar las bases de datos') "
para db en $ DBS
hacer
skipdb = - 1
if [ "$ IGGY!" = ""];
entonces
i en $ IGGY
hacer
[ "$ Db" = = "$ i"] & & skipdb = 1 | |:
hecho
fi
if [ "$ skipdb" = = "-1"] y, a continuación,
FILE = "$ MBD / $ db. $ ANFITRIÓN. NOW.gz $"
# ¿Todos InOne trabajo en la cañería,
# Conectar a mysql usando mysqldump para seleccionar base de datos mysql
# Y que la cañería a gz archivo de copia de seguridad en la dir:)
$ Mysqldump - $ u myuser - MyHOST h $ - $ p mypass $ db | $ GZIP - 9> $ FILE
fi
hecho
# De copias en el servidor remoto
echo'******************* Example_Backup *******************'> / root / mybackup.txt
echo \>> / root / mybackup.txt
fecha>> / root / mybackup.txt
echo \>> / root / mybackup.txt
'********************* Detalles *********************' echo>> / root / mybackup.txt
# Scp recordar que el comando no se puede especificar la contraseña en caso de que se han limpiado un elemento clave en el sistema de destino
# De lo contrario tendrá que hacer
scp / backup / mysql / * root@example.dom: / home / backup / ejemplo / mysql /
oh-ls / backup / mysql />> / root / mybackup.txt
echo'************************************************ * '>> / root / mybackup.txt
# Envíe un mensaje de correo electrónico con el informe del trabajo realizado
mail-s "Ejemplo de copia de seguridad" example@example.dom </ root / mybackup.txt
# Eliminar después de cargar
rm-f / backup / mysql / *



































