Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:tools:dbcopy

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
software:tools:dbcopy [2018/04/01 15:13] – PR 688 jausoftware:tools:dbcopy [2019/06/30 08:29] – Hinweise zur aktuellen Version jau
Zeile 1: Zeile 1:
 ====== dbcopy - inkrementelle Datenbankkopie ====== ====== dbcopy - inkrementelle Datenbankkopie ======
 +<note>Der Artikel beschreibt die Version von dbcopy wie sie mit dem aktuellen Image ausgeliefert wird. Es gibt zwischenzeitlich eine neuere Version die sich im Detail unterscheidet.</note>
 Möchte man die Datenbank sichern oder auf einem zweiten System zur Verfügung haben stößt man bei Verwendung von [[software/middleware/datenbank#komplettbackup_mit_mysqldump|mysqldump]] auf Schwierigkeiten (Systemlast, Zeitprobleme des vzlogger) die mit dbcopy umgangen werden können. Möchte man die Datenbank sichern oder auf einem zweiten System zur Verfügung haben stößt man bei Verwendung von [[software/middleware/datenbank#komplettbackup_mit_mysqldump|mysqldump]] auf Schwierigkeiten (Systemlast, Zeitprobleme des vzlogger) die mit dbcopy umgangen werden können.
  
Zeile 10: Zeile 10:
 ===== Installation ===== ===== Installation =====
 In der Standardinstallation ist dbcopy über php direkt nutzbar. In der Standardinstallation ist dbcopy über php direkt nutzbar.
-<code>php /var/www/volkszaehler.org/vendor/bin/dbcopy.php backup</code>+<code>php /var/www/volkszaehler.org/vendor/bin/dbcopy backup</code
 +<note>Die aktuelle Version kennt das Schlüsselwort ''backup'' nicht mehr. Die selbe Funktion wird ausgeführt wenn kein Schlüssel verwendet wird.</note>
 Möchte man dbcopy von der Kommandozeile aus starten muss erst die Berechtigung gesetzt werden: Möchte man dbcopy von der Kommandozeile aus starten muss erst die Berechtigung gesetzt werden:
-<code>sudo chmod +x /var/www/volkszaehler.org/bin/dbcopy.php</code>+<code>sudo chmod +x /var/www/volkszaehler.org/vendor/bin/dbcopy</code>
  
 Sollte dbcopy doch nicht auf dem System verfügbar sein kann das mit Sollte dbcopy doch nicht auf dem System verfügbar sein kann das mit
Zeile 74: Zeile 75:
 } }
 </file> </file>
 +<note>In der aktuellen Version ist die Konfiguration nicht mehr JSON sondern YAML. Die Syntax ist anders, der Inhalt aber identisch.</note>
  
 In der Datei werden Quelle (**"source"**) und kurz darunter Ziel (**"target"**) festgelegt. Im folgenden sind die einzelnen Parameter erklärt:\\ In der Datei werden Quelle (**"source"**) und kurz darunter Ziel (**"target"**) festgelegt. Im folgenden sind die einzelnen Parameter erklärt:\\
Zeile 112: Zeile 114:
 Datensätze der Tabelle werden nicht kopiert. Für Aggregationswerte ist es sinnvoller sie aus data neu zu generieren als die redundaten Daten nochmal zu speichern. Möchte man die Tabelle aggregate ebenfalls sichern "skip" in "pk" ändern.\\ Datensätze der Tabelle werden nicht kopiert. Für Aggregationswerte ist es sinnvoller sie aus data neu zu generieren als die redundaten Daten nochmal zu speichern. Möchte man die Tabelle aggregate ebenfalls sichern "skip" in "pk" ändern.\\
 ===== Zieldatenbank erstellen ===== ===== Zieldatenbank erstellen =====
-<code>/var/www/volkszaehler.org/vendor/bin/dbcopy.php create -c /etc/dbcopy.json</code>+<code>/var/www/volkszaehler.org/vendor/bin/dbcopy create -c /etc/dbcopy.json</code>
 <note important>Das erzeugen von SQLite-Datenbanken schlug in einer alten Version fehl. Falls es Probleme gibt bitte die neuste Version aus den git holen.</note> <note important>Das erzeugen von SQLite-Datenbanken schlug in einer alten Version fehl. Falls es Probleme gibt bitte die neuste Version aus den git holen.</note>
 ===== Daten kopieren ===== ===== Daten kopieren =====
-<code>/var/www/volkszaehler.org/vendor/bin/dbcopy.php backup -c /etc/dbcopy.json</code>+<code>/var/www/volkszaehler.org/vendor/bin/dbcopy backup -c /etc/dbcopy.json</code
 +<note>In der aktuellen Version: ''/var/www/volkszaehler.org/vendor/bin/dbcopy -c /etc/dbcopy.json''</note>
 Erfolgreiche Kopie: Erfolgreiche Kopie:
 <code>entities: copying 9 rows (overwrite) <code>entities: copying 9 rows (overwrite)
Zeile 133: Zeile 136:
 ==== Cronjob ==== ==== Cronjob ====
 Wenn die manuelle Kopie erfolgreich war kann ein cronjob eingerichtet werden. Z.B. täglich: Wenn die manuelle Kopie erfolgreich war kann ein cronjob eingerichtet werden. Z.B. täglich:
-<code>0 2 * * * /usr/bin/php /var/www/volkszaehler.org/vendor/bin/dbcopy.php backup -c /etc/dbcopy.json > /dev/null</code> +<code>0 2 * * * /usr/bin/php /var/www/volkszaehler.org/vendor/bin/dbcopy backup -c /etc/dbcopy.json > /dev/null</code> 
 +<note>In der aktuellen Version: ''0 2 * * * /usr/bin/php /var/www/volkszaehler.org/vendor/bin/dbcopy -c /etc/dbcopy.json > /dev/null''</note> 
 +===== Restore ===== 
 +Um eine Sicherung wiederherzustellen einfach eine Konfiguration anlegen bei der Ziel und Quelle vertauscht sind. Das übrige Vorgehen ist identisch.
software/tools/dbcopy.txt · Zuletzt geändert: 2021/05/06 12:35 von jau