Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So sichern Sie MySQL-Datenbanken mit Cron-Jobs

Dieser Artikel beschreibt, wie Sie einen Cron-Job einrichten, der automatisch in bestimmten Intervallen eine MySQL-Datenbank in einer Datei sichert.

Automatisierte Datenbanksicherungen mit Cronjobs

Es gibt zwei Möglichkeiten, Cron-Jobs auszuführen, die eine MySQL-Datenbank sichern. Sie können entweder die MySQL-Anmeldeinformationen in den Cron-Job-Befehl selbst aufnehmen oder eine Konfigurationsdatei verwenden, um die MySQL-Anmeldeinformationen zu speichern.

Methode #1:Fügen Sie MySQL-Anmeldeinformationen in den Cronjob-Befehl ein

Sie können geplante Sicherungen einer MySQL-Datenbank ausführen, indem Sie einen Cron-Job erstellen, der den folgenden Befehl ausführt:

/usr/bin/mysqldump --routines -u dbusername -p'dbpassword' dbname > ${HOME}/path/backup.sql

Ersetzen Sie dbusername durch den Datenbankbenutzer, dbpassword durch das Kennwort des Datenbankbenutzers, dbname durch die zu sichernde Datenbank und Pfad durch den Pfad, in dem Sie die Sicherungsdatei speichern möchten. Dieses Beispiel verwendet backup.sql für den Dateinamen der Sicherung, aber Sie können jeden beliebigen Dateinamen verwenden.

  • Die einfachen Anführungszeichen (') um das Passwort stellen sicher, dass alle Sonderzeichen korrekt verarbeitet werden.
  • Wenn der Befehl erfolgreich ausgeführt wird, wird keine Ausgabe generiert. Wenn jedoch ein Fehler oder eine Fehlkonfiguration vorliegt, erhalten Sie abhängig von Ihrer Kontokonfiguration möglicherweise eine E-Mail-Nachricht mit der Befehlsausgabe. Um E-Mail-Nachrichten zu unterdrücken, wenn der Befehl fehlschlägt, fügen Sie den folgenden Text am Ende des Cron-Job-Befehls hinzu:
    2>/dev/null

    Die meisten Leute möchten jedoch benachrichtigt werden, wenn ein Cron-Job fehlschlägt.

Informationen zur Verwendung von cPanel zum Erstellen eines Cron-Jobs finden Sie in diesem Artikel.

Methode 2:Verwenden Sie eine Konfigurationsdatei, um MySQL-Anmeldeinformationen zu speichern

Alternativ können Sie in Ihrem Home-Verzeichnis eine Konfigurationsdatei erstellen, die MySQL-Anmeldeinformationen speichert. Bei dieser Methode müssen Sie keine Anmeldeinformationen in Ihre Cronjob-Befehle aufnehmen. Gehen Sie dazu folgendermaßen vor:

  1. Erstellen Sie eine Datei namens .my.cnf in Ihrem /home/ Benutzernamen-Verzeichnis und ersetzen Sie den Benutzernamen durch den Benutzernamen Ihres Kontos. Stellen Sie sicher, dass Sie das vorangestellte . einfügen im Dateinamen.
  2. Kopieren Sie den folgenden Text und fügen Sie ihn in die .my.cnf ein Datei. Ersetzen Sie dbusername durch den Datenbankbenutzer und dbpassword durch das Passwort des Datenbankbenutzers:
    [client]
    user = dbusername
    password = "dbpassword"
    host = localhost
  3. Erstellen Sie einen Cron-Job, der den folgenden Befehl ausführt. Ersetzen Sie dbname durch den Namen der zu sichernden Datenbank und ersetzen Sie path durch den Pfad zum Speichern der Sicherungsdatei. Dieses Beispiel verwendet backup.sql für den Dateinamen der Sicherung, aber Sie können jeden beliebigen Dateinamen verwenden:

    mysqldump --routines dbname > /path/backup.sql

    Wenn der Befehl erfolgreich ausgeführt wird, wird keine Ausgabe generiert. Wenn jedoch ein Fehler oder eine Fehlkonfiguration vorliegt, erhalten Sie abhängig von Ihrer Kontokonfiguration möglicherweise eine E-Mail-Nachricht mit der Befehlsausgabe. Um E-Mail-Nachrichten zu unterdrücken, wenn der Befehl fehlschlägt, fügen Sie den folgenden Text am Ende des Cron-Job-Befehls hinzu:

    2>/dev/null

    Die meisten Leute möchten jedoch benachrichtigt werden, wenn ein Cron-Job fehlschlägt.

    Informationen zur Verwendung von cPanel zum Erstellen eines Cron-Jobs finden Sie in diesem Artikel.

Weitere Informationen

Weitere Informationen zu mysqldump besuchen Sie bitte http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html.