I dag jag lägger fram en bekväm position att automatisera databas sparar nosri mysql databas, i tillägg till det ursprungliga script kan läggas till i slutet av räddnings-och kompression av enskilda databaser på några rader kopian på en fjärrserver och en meddelanderuta i vår rapport e-post.
#! / Bin / bash
# Shell skript för att säkerhetskopiera MySQL databas
# För att säkerhetskopiera databaser Nysql filer / backup dir och senare ta upp med din
# Script. Du kan hoppa över några databaser från backup också.
# För mer info se (Installation info):
# Http: / / www.cyberciti.biz/nixcraft/vivek/blogger/2005/01/mysql-backup-script.html
# Uppdaterad: august - 2005
# -----------------------
# Detta är en gratis shell script under GNU GPL version 2.0 eller högre
# Copyright (C) 2004, 2005 nixCraft projektet
# Synpunkter / kommentarer / förslag: http://cyberciti.biz/fb/
# -------------------------
# Detta skript är en del av nixCraft shell script insamling (NSSC)
Besök # http://bash.cyberciti.biz/ för mer information.
# Uppdaterad Sep - 2007 av CyberTek - http://www.cybertek.it
# -------------------------
Myuser = "SET-mysql-användarnamn" # ANVÄNDARNAMN
Mypass = "SET-lösenord" # LÖSENORD
MyHOST = "localhost" # Värdnamn
# Linux bin vägar, ändra på detta om man inte kan automatiskt identifieras via vilken kommandot
MYSQL = "$ (som mysql)
Mysqldump = "$ (som mysqldump)
Chown = "$ (som chown)
Chmod = "$ (som chmod)
GZIP = "$ (som gzip)
# Backup DEST katalog, ändra på detta om du har someother plats
DEST = "/ backup"
# Main katalogen där säkerhetskopian ska sparas
MBD = "$ DEST / mysql"
# Hämta hostname
HOST = "$ (hostname)
# Hämta data i dd-mm-åååå-format
NU = "$ (date +"% d -% m -% Y ")"
# Arkiv lagra nuvarande backup-fil
FILE = ""
# Store listan över databaser
DBS = ""
# INTE SÄKERHETSKOPIOR dessa databaser
Iggy = "test"
[- D $ MBD] & & mkdir - p $ MBD | |:
# Endast root kan använda den!
Chown $ 0,0 - R $ DEST
$ Chmod 0600 $ DEST
# Få all databas listan första
DBS = "$ ($ mysql-u myuser-h $ $ $ MyHOST-p mypass-BSE visa databaser") "
för dB $ DBS
göra
skipdb = - 1
Om [ "$ Iggy!" = ""];
sedan
for i in $ Iggy
göra
[ "$ Db" = = "$ i"] & & skipdb = 1 | |:
gjord
fi
Om [ "$ skipdb" = = "-1"]; sedan
FILE = "$ MBD / $ db. $ HOST. NOW.gz $"
# Har alla InOne jobb i röret,
# Anslut till MySQL använder mysqldump för väljer MySQL databas
# Och röret ut till gz fil i backup dir:)
$ Mysqldump - $ u myuser - MyHOST H $ - $ p mypass $ BF | $ GZIP - 9> $ FILE
fi
gjord
# Kopiera på fjärrservern
echo'******************* Example_Backup *******************'> / root / mybackup.txt
echo \>> / root / mybackup.txt
datum>> / root / mybackup.txt
echo \>> / root / mybackup.txt
'********************* Detaljer *********************' echo>> / root / mybackup.txt
# Ihåg att scp kommando kan du inte ange lösenordet om du har rensat en knapp på målsystemet
# Annars måste du göra
scp / backup / mysql / * root@example.dom: / home / backup / exempel / MySQL /
oh-ls / backup / mysql />> / root / mybackup.txt
echo'************************************************ * '>> / root / mybackup.txt
# Skicka ett e-postmeddelande med det arbete som utförs
mail-s "Exempel Backup" example@example.dom </ root / mybackup.txt
# Bort efter uppladdning
rm-f / backup / mysql / *



































