2016-07-26 5 views
0

Für die Überprüfung müssen wir Puppet-Datenbank seit 7 Jahren zu halten, wie kann ich es routinemäßig in eine MySQL-Datenbank zu speichern, ich könnte einige Flexibilität bei der Auswahl der Datenbanken, Postgres oder MySql .Dumping puppetdb in MySql oder sogar postgres

Vielen Dank im Voraus.

Antwort

1

Wenn Sie Postgres als Backing-Speicher für PuppetDB verwenden, können Sie einfach die vanilla-postgres-Tools (wie pg_dump) verwenden, um eine vollständige Kopie der db zu erstellen und dann psql oder pg_restore zu verwenden Postgres-Datenbank für Archivzwecke. Wiederholen Sie dies bei Bedarf.

PuppetDB hat auch einen eingebauten "Export" -Befehl (siehe the section in the puppetdb docs on "Exporting and anonymizing data"). Dadurch werden alle Ihre aktuellen Kataloge, Fakten und Berichte in einen Tarball auf der Festplatte ausgelagert. Wenn Ihre Prüfer sich nur um den Archivierungszugriff auf die Rohdaten kümmern (d. H. Sie müssen nicht in einer DB für Abfragen oder irgendetwas sein), ist das vielleicht ausreichend?

PuppetDB funktioniert nicht mit MySQL als Backing Store. Wenn Sie den Inhalt auf eine MySQL-Datenbank dumpen möchten, würde ich den "export", den ich bereits erwähnt habe, empfehlen, diesen Tarball zu erweitern und dann ein benutzerdefiniertes Skript zu schreiben, das diese Daten in MySQL importiert.

+0

Vielen Dank, ich brauche das Standard-Passwort für die Benutzer: pe-postgres und pe-puppetdb. Der Befehl/opt/puppetlabs/server/bin/pg_dump pe-puppetdb -U pe-puppetdb -h localhost -Fc> /var/tmp/db.$ (Datum +% Y-% m-% d% H: % M:% S) .dump Passwort: fordert mich auf ein Passwort – a3kartik

+0

Ich bin jetzt in der Lage, eine dump_all zu tun und dann wiederherzustellen, aber einige Probleme, dokumentiert hier: http://pastebin.com/2kqH5as6 – a3kartik