Dzisiaj przedstawiam przydatne bazy danych rozszerzonej automatycznego zapisywania nosri bazy mysql, w dodatku do oryginalnego skryptu można dodać na końcu ratowanie i kompresję poszczególnych baz danych w kilka linii kopii na serwerze i okna komunikatu w raporcie e-mail.
# / Bin / bash
# Skrypt powłoki do tworzenia kopii zapasowych bazy danych MySQL
# Aby wykonać kopię zapasową plików bazy danych Nysql / dir kopii zapasowej, a następnie odebrać przez
# Script. Niewiele można pominąć baz danych z kopii zapasowej za.
# Więcej informacji można znaleźć (info instalacji)
# Http: / / www.cyberciti.biz/nixcraft/vivek/blogger/2005/01/mysql-backup-script.html
# Ostatnia aktualizacja: Aug - 2005
# -----------------------
# To jest darmowe skrypty powłoki pod GNU GPL w wersji 2.0 lub nowszy
# Copyright (C) 2004, nixCraft projektu 2005
# Opinii / uwag / sugestii: http://cyberciti.biz/fb/
# -------------------------
# Skrypt ten jest częścią skryptu nixCraft kolekcji muszli (NSSC)
# Http: / / bash.cyberciti.biz / Więcej informacji można uzyskać.
# Zaktualizowano Wrz - 2007 by Cybertek - http://www.cybertek.it
# -------------------------
Mójużytkownik = "SET-mysql-nazwę użytkownika" USERNAME #
Mojehas = "SET PASSWORD" Hasło #
Mojkomputer = "localhost" # Hostname
# Linux bin ścieżki, zmienić, jeśli nie może być automatycznie wykrywany przez którego polecenia
MYSQL = "$ (co mysql)"
Mysqldump = "$ (co mysqldump)"
Chown = "$ (co chown)"
CHMOD = "$ (co chmod)"
GZIP = "$ (co gzip)"
# Backup Dest, to zmienić, jeśli masz someother lokalizacji
CEL = / backup "
# Głównym katalogu kopii zapasowych WHERE będą przechowywane
MBD = "$ docelowy / mysql"
# Pobierz hostname
HOST = "$ (hostname)"
# Pobierz format daty dd-mm-rrrr
TERAZ = "$ (+ data"% d -% m -% Y ')'
# Plik, aby zapisać bieżący plik kopii zapasowej
FILE = ""
# Lista Store baz danych
= DBS "
# NIE BACKUP Te bazy danych
IGGY = "test"
[? - D $ MBD] & & mkdir - p $ MBD | |:
# Tylko root może z niego korzystać!
Chown 0,0 dolarów - R $ DEST
CEL $ chmod 0600 dolarów
# Pobierz wszystkie listy pierwsza baza danych
DBS = "$ ($ mysql-u-h myuser $ $ mojkomputer-p mojehas-BSE" show $ bazy danych ")"
do w $ db DBS
C
skipdb = - 1
if ["$ IGGY! =" "];
następnie
for i in $ IGGY
C
["$ Db" = "$ i"] & & skipdb = 1 | |:
Sporządzono
fi
if ["$ skipdb" = "-1"] then
FILE = "$ MBD / $ db. $ HOST. NOW.gz $",
# Czy wszystkie inone pracy w rurach,
# Połącz się za pomocą mysql mysqldump do wyboru bazy mysql
# I to na zewnątrz rury gz pliku kopii zapasowej w katalogu:)
$ Mysqldump - $ u mójużytkownik - h mojkomputer $ - $ p mojehas $ db | $ GZIP - 9> $ FILE
Fi
Sporządzono
# Skopiuj na zdalnym serwerze
echo'******************* Example_Backup *******************'> / root / mybackup.txt
echo \>> / root / mybackup.txt
data>> / root / mybackup.txt
echo \>> / root / mybackup.txt
Szczegóły *********************''********************* echo>> / root / mybackup.txt
# Pamiętaj, że polecenie scp nie może podać hasło, jeśli usunięciu klucza w systemie docelowym
# W przeciwnym razie nie
scp / backup / mysql / root@example.dom *: / home / backup / przykład / mysql /
oh-ls / backup / mysql />> / root / mybackup.txt
echo'************************************************ * ">> / root / mybackup.txt
# Wyślij e-mail ze sprawozdaniami z wykonanych prac
mail-s "Przykład Backup" <example@example.dom / root / mybackup.txt
# Usuń po przesłaniu
rm-f / backup / mysql / *



































