• Zur Hauptnavigation springen
  • Skip to main content
Web Shaped Logo
  • Blog
  • felix@webshaped.de|+49 (0)176 555 300 74
    Sie möchten Ihr Projekt sofort starten?
  1. Start
  2. Web Analytics
  3. Automatische Matomo Backups via Bash Script und Cronjob

Automatische Matomo Backups via Bash Script und Cronjob

Zuletzt aktualisiert am 2. August 2020Keine Kommentareanalytics, Bash, Matomo, Script, Shell

Schon eine passende Backup-Strategie für Matomo? Nein? Nicht so schlimm, in den folgenden Absätzen stelle ich dir mein kürzlich veröffentlichtes Backup Script für Matomo vor.

Du kannst Abends nicht mit gutem Gewissen einschlafen, da du kein aktuelles Backup deiner Matomo Installation besitzt? Jedem dem es so oder so ähnlich geht, sei gesagt, in diesem Artikel gibt es die richtige Medizin.

Wo finde ich das Script?

Die Aktuelle Version findest du immer auf GitHub. Der folgende Link bringt dich direkt zu dem aktuellen Release:

Zum letzten Release (GitHub)

Wenn Du schon mal da bist, freue ich mich natürlich wenn du ein Sternchen da lassen würdest. Wirklich!

Was wird benötigt?

Wenn du das Script nutzen möchtest, sollte dein Hoster folgende Dinge bereitstellen:

  • SSH oder SFTP Zugriff (Bieten mittlerweile die meisten Shared Hoster an)
  • Kein ROOT (Damit ist dieses Script mit Shared Hostings kompatibel)

Ein sicherer Ort für Deine Backups

Jetzt hast du sicherlich bereits das Script auf Deinem Server und willst starten. Klar, dass machen wir gleich, aber vorher noch eine kurze Sicherheitseinweisung.

Damit das Script überhaupt ein Backup erstellen kann, konfigurierst du in den folgenden Absätzen die Konfiguration Dateien des Scripts. Dort enthalten sind, Zugangsdaten für die Datenbank und weitere kritische Informationen, die es zu schützen gilt. Keine gute Idee diese Dateien und schon gar nicht die Backups in einem öffentlichen Ordner auf dem Server liegen zulassen.

Die Lösung liegt auf der Hand. Man nutzt selbstverständlich einen Ordner außerhalb des öffentlichen Verzeichnisses.

Mein kleines Beispiel geht davon aus, dass sich im Root Verzeichnis der öffentliche Ordner “html” befindet, dort liegt eure Matomo Installation und weitere Projekte. Der “backup” Ordner befindet sich hier auf der selben Ebene wie “html”, ist aber nicht öffentlich zugänglich. Dort entpackst du das Backup Script oder führst ein git clone https://github.com/felix-berlin/matomo-backup-restore.git aus. So liegt das Script mit den heiklen Zugangsdaten sicher.

├── backups (nicht öffentlicher Ordner)
│└── matomo-backup-restore
├── html (öffentlicher Ordner)
│└── matomo (Deine Matomo Installation)

Das Bash Script konfigurieren

Nachdem du das Script abgelegt hast, geht es nun ans Konfigurieren. Mein Backup Script kommt mit zwei Beispiel Konfigurationsdateien, zu finden im Ordner “config”. Eine für den Datenbank-Zugriff die andere für das Script selbst.

Ich empfehle beide Konfig-Dateien zu duplizieren und anschließend umzubenennen. Dazu löscht du lediglich das “.example” aus dem Dateinamen.

Das ganze hat den Vorteil, dass wenn du ein Update mit git pull machst, deine bisherigen Konfigs nicht überschrieben werden und auch nicht von git getrackt werden.

Das Script Konfigurieren

In der Hauptkonfigurations-Datei (main.config.sh) muss nicht zwangsläufig alles angepasst werden. Folgende Variablen sind jedoch notwenig:

  • backupMainDir = der Ordner wo sich die Backups speichern sollen
  • pathToMatomo = der Pfad zu Deiner Matomo Installation
  • matomoDatabase = der Name Deiner Matomo Datenbank

Datenbank Konfiguration

Die database.config.cnf Datei ist ein reiner Copy & Paste Job. Alle nötigen Zugangsdaten findest Du im Matomo Ordner unter “config” -> “config.ini.php”.

Hier passiert der eigentliche Zauber

Nun kannst du noch einen Blick auf das eigentliche Script werfen. Ich lasse das mal “unkommentiert” 😉

Wie wird das Script genutzt?

Du schaltest dich mit SSH oder SFTP auf deinen Server auf und navigierst mit cd in das Verzeichnis wo sich die matomo_backup.sh Datei befindet. Jetzt einfach das Script via ./matomo_backup.sh starten. Wer sich den Code oberhalb angesehen hat, wird sag: “Hey, was ist mit den optionalen Argumenten!“. Stimmt, es gibt zwei ($1, $2) optionale Argumente mit denen ihr das Backup-Verzeichnis ($1) und oder das Matomo-Verzeichnis ($2) manuell bestimmen könnt. Praktisch oder?

Nun einfach zurücklehnen und den echos zugucken!

Screenshot des Matomo Bash Scripts in der Ausführung
Screenshot: Ausführung des Backup Scripts

Backups automatisieren

Damit du so richtig entspannen kannst, empfehle ich dir diesen ganzen Prozess zu automatisieren.

Das Stichwort lautet Cronjob!

Die unter euch, die ihren Server selbst verwalten wissen mit hoher Wahrscheinlichkeit was nun zu tun ist. All diejenigen, die ein Shared-Hosting oder einen Managed Server mieten, können dies meist über das Admin-Dashboard ihres Anbieters steuern. Das einzige worauf hier geachtet werden sollte ist, dass du das Script mit dem richtigen Interpreter ansprichst. In diesem Fall ist das Bash. Nun noch schnell das für dich geeignete Intervall auswählen und schon gibt es regelmäßig Matomo Backups!

Lass es uns wissen, wenn dir der Beitrag gefällt. Das ist für uns der einzige Weg herauszufinden, ob wir etwas besser machen können.
Moin, ich bin Felix Scholze.

Ich bin Web-Developer und Designer aus Berlin. In diesem Blog möchte ich gerne mein Wissen über Webseiten-Gestaltung und Programmierung weitergeben.

Diese Beiträge könnten dir auch gefallen

#analytics

Automatische Matomo Backups via Bash Script und Cronjob

#analytics
Matomo Analytics optimal in Website einbinden

Matomo (Piwik) Tracking Script optimal einbinden – mehr Performance, genauere Zahlen

Leser-Interaktionen

Hat Dir der Beitrag gefallen? Lass uns diskutieren: Antworten abbrechen

Erforderliche Felder sind mit * markiert.

Wenn du möchtest kannst du folgende Tags nutzen:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Kontaktieren Sie mich

Webentwickler & Webdesigner aus Berlin.

Berlin-Pankow

felix@webshaped.de
+49(0)176 555 300 74

Folgen Sie mir auf:


Bewerten Sie meine Arbeit auf:

Facebook, Google, Proven Expert

    Datenschutz akzeptieren? *

    * Pflichtfeld

    • Impressum
    • Datenschutz
    • Sitemap