Automatisches VPS-Backup-Shell-Skript

Automatisches VPS-Backup-Shell-Skript

Automatisches VPS-Backup-Shell-Skript, das zum Sichern und Verwalten von MySQL-Datenbanken und Webdaten auf einem Linux-System mit einem Klick und zum automatischen Hochladen auf den Remote-Backup-Server verwendet wird.

1. Merkmale und Funktionen

1. Reines Shell-Skript, einfach zu verwenden, niedriger technischer Aufwand, leicht zu ändern und kann durch Löschen deinstalliert werden.
2. Sie können die Häufigkeit der Datensicherung und die Anzahl der zu speichernden Sicherungen festlegen sowie nicht benötigte alte Sicherungen automatisch löschen.
3. Sie können mehrere MySQL-Datenbanken angeben, die gesichert werden müssen, und sogar eine Datenbank von der Sicherung ausschließen.
4. Sie können mehrere Datenverzeichnisse angeben, die gesichert werden müssen, und sogar die Sicherung von sekundären Verzeichnispaketen unterstützen.
5. Unterstützt lokale und mehrere Backups (FTP, SCP, Amazon S3) und optional vollständige und inkrementelle Backups für Offsite-Backups.

2. Herunterladen und Verwenden

2.1. Laden Sie das Skript herunter

https://gist.github.com/1505857

 1
2
3
 wget http://wangyan.org/download/shell/vps_auto_backup.sh
chmod 100 vps_auto_backup.sh
mkdir /var/shell und mv vps_auto_backup.sh /var/shell

2.2. Cron-Daemon einrichten

Die Häufigkeit der automatischen Ausführung lässt sich beliebig einstellen, in der Regel reicht einmal pro Stunde aus.

 1
2
 crontab -e
0 * * * * /bin/bash /var/script/sys-mon.sh

2.3. Zusätzliche Software installieren

Wenn Sie ein Remote-FTP- oder SCP-Backup durchführen müssen, müssen Sie LFTP und Expect installieren.

 1
2
 yum -y installiere lftp expect #centos
apt-get -y installiere lftp expect #ubuntu

Konfigurationsoptionen

# Verzeichnis zur Datensicherung

 1
 BACKUP_DIR="/root/vps-bak"

MySQL-Sicherungsoptionen

# Ob MySQL-Backup aktiviert werden soll, 0 bedeutet deaktivieren, 1 bedeutet aktivieren.

 1
 ENABLE_MYSQL_BACKUP="1"

# Datenbank-Sicherungsintervall, 1 Stunde = 3600 Sekunden.

 1
 MYSQL_BACKUP_CYCLE="43200"

# Die Anzahl der zu speichernden Datenbanksicherungen. Standardmäßig werden die letzten 4 Sicherungen gespeichert.
# Beispiel: Sie möchten zweimal täglich ein Backup erstellen und das Backup der letzten beiden Tage speichern. Geben Sie hier dann "4" ein.

 1
 MYSQL_BACKUP_NUM="4"

# Datenbank-Host, Benutzername, Passwort.

 1
2
3
 MYSQL_HOST="lokaler Host"
MYSQL_USER="Stamm"
MYSQL_PWD="123456"

# Der Name der zu sichernden Datenbank. Mehrere Datenbanken sollten durch Leerzeichen getrennt werden. „all“ bedeutet alle Datenbanken.

 1
 MYSQL_DB_NAMES="alle"

# Der Name der Datenbank, die vom Backup ausgeschlossen werden soll. Mehrere Datenbanken sollten durch "|" getrennt werden.

 1
 MYSQL_EXCLUDE_DB="phpmyadmin|Informationsschema|Leistungsschema"

Web-Backup-Optionen

# Ob die lokale Sicherung von Webdaten aktiviert werden soll. 0 bedeutet deaktivieren und 1 bedeutet aktivieren.

 1
 ENABLE_LOCAL_BACKUP="1"

# Datensicherungsintervall, 1 Stunde = 3600 Sekunden.

 1
 WWW_BACKUP_CYCLE="86400"

# Die Anzahl der zu speichernden Datensicherungen. Standardmäßig werden die letzten beiden Sicherungen gespeichert.
# Beispiel: Sie möchten einmal am Tag ein Backup erstellen und das Backup der letzten zwei Tage speichern. Geben Sie hier dann "2" ein.

 1
 WWW_BACKUP_NUM="2"

# Das Datenquellenverzeichnis, das gesichert werden muss. Mehrere Verzeichnisse sollten durch Leerzeichen getrennt werden.

 1
 WWW_BACKUP_DIRS="/home /var/www"

# Die Tiefe des zu sichernden Datenquellenverzeichnisses, Ordner=0, Ordner+Unterordner=1

 1
 WWW_BACKUP_DEPTH="1"

FTP-Backup-Optionen

# Ob die Remote-FTP-Sicherung aktiviert werden soll. 0 bedeutet deaktivieren und 1 bedeutet aktivieren.

 1
 ENABLE_FTP_BACKUP="0"

# FTP-Backup-Intervall, 0 bedeutet deaktiviert, 1 Stunde = 3600 Sekunden

 1
 FTP_BACKUP_CYCLE="0"

# FTP-Sicherungsmodus, Vollsicherung = 0, inkrementelle Sicherung = 1

 1
 FTP_BACKUP_MODE="0"

# Der Backup-Ordner des Remote-FTP-Speichers. Wenn er nicht existiert, wird er vom Skript automatisch erstellt.

 1
 FTP_REMOTE_DIR="vps-bak"

# Remote-FTP-Host, Benutzername und Passwort.

 1
2
3
 FTP_HOSTNAME="192.168.8.128"
FTP_USERNAME="test"
FTP_PASSWORD="Test"

SCP-Sicherungsoptionen

# Ob die Remote-SCP-Sicherung aktiviert werden soll, 0 bedeutet deaktivieren, 1 bedeutet aktivieren.
# Hinweis: Um die zertifikatsfreie Anmeldung zu unterstützen, müssen Sie „expect“ installieren (yum -y install expect)

 1
 ENABLE_SCP_BACKUP="0"

# SCP-Sicherungsintervall, 0 bedeutet deaktiviert, 1 Stunde = 3600 Sekunden

 1
 SCP_BACKUP_CYCLE="0"

# Remote-Host, Benutzername, Passwort.

 1
2
3
 SCP_HOST="192.168.8.128"
SCP_USER="Wurzel"
SCP_PASSWD="123456"

# Der Remote-Host speichert den Backup-Ordner.

 1
 SCP_REMOTE_PATH="/root/vps-bak"

Amazon S3-Sicherungsoptionen

# Ob Amazon S3-Backup aktiviert werden soll, 0 bedeutet deaktiviert, 1 bedeutet aktiviert.

 1
 ENABLE_S3_BACKUP="0"

# Amazon S3-Sicherungsintervall, 0 bedeutet deaktiviert, 1 Stunde = 3600 Sekunden

 1
 S3_BACKUP_CYCLE="0"

# Amazon S3-Sicherungsmodus, Vollsicherung = 0, inkrementelle Sicherung = 1

 1
 S3_BACKUP_MODE="0"

# Amazon s3 BUCKET-Name. Wenn er nicht existiert, wird er vom Skript automatisch erstellt.

 1
 S3_BUCKET="vps-bak"

# Amazon-Zugangsschlüssel

 1
 ACCESS_KEY_ID="123456"

# Geheimer Amazon-Zugangsschlüssel

 1
 GEHEIMER ZUGRIFFSSCHLÜSSEL = "123456"

4. Vorschläge und Feedback

Wenn Sie Fehler im Skript finden oder bessere Vorschläge haben, können Sie eine Nachricht hinterlassen oder eine E-Mail senden an:

myidwy(at)gmail.com

 Nachdruck von: http://wangyan.org/blog/vps-backup-shell-script.html

<<:  Günstige und stabile ausländische VPS

>>:  Kanadischer Hosting-Anbieter - MyHosting Hosting-Einführung

Artikel empfehlen

Serveo: 24 €/Jahr/512 MB RAM/10 GB SSD/1 TB Bandbreite/KVM/Niederlande

Serveo, im Vergleich zum vorherigen Paket wurde d...