Heute bin ich eine bequeme Position zu automatisieren Datenbank MySQL-Datenbank speichern nosri, zusätzlich zu den Original-Skript kann am Ende der Rettungs-und Komprimierung der einzelnen Datenbanken, in wenigen Zeilen die Kopie auf einem Remote-Server und ein Meldungsfeld in unserem Bericht E-Mail.
#! / Bin / bash
# Shell-Skript, um Backup-MySQL-Datenbank
# Um Backup-Dateien in Datenbanken Nysql / backup dir und später abholen von Ihrem
# Script. Können Sie einige Datenbanken aus Backup.
# Für weitere Informationen lesen Sie bitte (Installation info):
# Http: / / www.cyberciti.biz/nixcraft/vivek/blogger/2005/01/mysql-backup-script.html
# Letzte Aktualisierung: Aug - 2005
# -----------------------
# Dies ist eine kostenlose Shell-Skript unter der GNU GPL Version 2.0 oder höher
# Copyright (C) 2004, 2005 nixCraft Projekt
# Feedback / Kommentare / Vorschläge: http://cyberciti.biz/fb/
# -------------------------
# Dieses Skript ist Teil der nixCraft Shell-Skript-Sammlung (NSSC)
# Http://bash.cyberciti.biz/ Besuchen Sie für weitere Informationen.
# Aktualisiert Sep - 2007 by CyberTek - http://www.cybertek.it
# -------------------------
Myuser = "SET-MySQL-User-Name" # USERNAME
Mypass = "SET-PASSWORD" # PASSWORD
Myhost = "localhost" # Hostname
# Linux Wege bin, ändern Sie diese, wenn sie nicht automatisch erkannt werden, über den Befehl
MYSQL = "$ (die mysql)"
Mysqldump = "$ (die mysqldump)"
Chown = "$ (die chown)"
CHMOD = "$ (die chmod)"
GZIP = "$ (die gzip)"
# Backup-Verzeichnis Dest, ändern Sie diese, wenn Sie someother Standort
DEST = "/ backup"
# Main Backup-Verzeichnis, in dem gespeichert werden soll
MBD = "$ DEST / mysql"
# Get hostname
HOST = "$ (hostname)"
# Get in dd-mm-yyyy-Format
NOW = "$ (date +"% d -% m -% Y ")"
# Datei zu speichern aktuellen Backup-Datei
FILE = ""
# Shop-Liste der Datenbanken
DBS = ""
# BACKUP NICHT diesen Datenbanken
Iggy = "test"
[- D $ MBD] & & mkdir - p $ MBD | |:
# Nur root kann es!
Chown $ 0,0 - R $ DEST
$ Chmod 0600 $ DEST
# Hier finden Sie alle Datenbank-Liste ersten
DBS = "$ ($ mysql-u myuser-H $ $ $ myhost-p-mypass BSE" SHOW DATABASES ")"
für die DB in $ DBS
tun
skipdb = - 1
if [ "$ Iggy!" = ""];
dann
for i in $ Iggy
tun
[ "$ Db" = = "$ i"] & & skipdb = 1 | |:
getan
fi
if [ "$ skipdb" = = "-1"]; dann
File = "$ MBD / $ db. $ HOST. NOW.gz $"
# Haben alle InOne Job in Rohr,
# Verbindung zum MySQL mit mysqldump wählen Sie für die MySQL-Datenbank
# Und lasse sie zu gz Datei im Backup dir:)
$ Mysqldump - $ u myuser - myhost h $ - $ p mypass $ db | $ GZIP - 9> $ FILE
fi
getan
# Kopieren Sie auf dem Remote-Server
echo'******************* Example_Backup *******************'> / root / mybackup.txt
echo \>> / root / mybackup.txt
date>> / root / mybackup.txt
echo \>> / root / mybackup.txt
'********************* Details *********************' echo>> / root / mybackup.txt
# Nicht vergessen, dass der Befehl scp kann man nicht angeben, wenn Sie das Passwort gelöscht haben eine Schlüsselrolle auf dem Zielsystem
# Sonst werden Sie zu tun haben,
scp / backup / mysql / * root@example.dom: / home / backup / So / mysql /
oh-ls / backup / mysql />> / root / mybackup.txt
echo'************************************************ * ">> / root / mybackup.txt
# Senden Sie eine E-Mail mit dem Bericht über die geleistete Arbeit
mail-s "Beispielhaftes Vorgehen zur Datensicherung" example@example.dom </ root / mybackup.txt
# Entfernen Sie nach dem Upload
rm-f / backup / mysql / *



































