[vz-users] Fragen zur Datensicherung

Andreas Goetz cpuidle at gmail.com
Tue Dec 22 13:19:16 CET 2015


Hi Sirko,

2015-12-20 20:45 GMT+01:00 Sirko <mail_ist at nurfuerspam.de>:

> Hi,
>
> zunächst tritt der Fehler nur auf, wenn weniger als 20 Zeilen kopiert
> werden. Sobald es 20 sind, ist alles schön. Ich hab mal testweise ein paar
> leere Gruppen erzeugt und plötzlich gab es keine Fehler beim Kopieren der
> Tabelle entities mehr.
>

Wie gesagt- wenn ich bei Dir den Fehler live reproduzieren könnte wäre mir
geholfen. So rate ich nur :(


>
> Allerdings hab ich jetzt einen zusätzlichen Fehler (Unable to load dynamic
> library, siehe unten), ne Idee, woher der kommen könnte?
>

Irgendwas an Deiner PHP installation ist krumm- warum auch immer, eher
nciht dbcopy...


> pi at raspberrypi ~ $ php /var/www/volkszaehler.org/misc/tools/dbcopy.php
> backup -c /var/www/volkszaehler.org/misc/tools/dbcopy.json -k
> PHP Warning:  PHP Startup: Unable to load dynamic library
> '/usr/lib/php5/20131226/mcrypt.so' - libmcrypt.so.4: cannot open shared
> object file: Value too large for defined data type in Unknown on line 0
> entities: copying 20 rows (overwrite)
>  [============================] 100%    1 sec/1 sec    20 rows
>
> properties: copying 149 rows (overwrite)
>  [============================] 100%    1 sec/1 sec    149 rows
>
> entities_in_aggregator: copying 4 rows (overwrite)
>  [>---------------------------]   0%    1 sec/1 sec    0 rowsPHP Warning:
> Division by zero in /var/www/
> volkszaehler.org/vendor/symfony/console/Symfony/Component/Console/Helper/ProgressBar.php
> on line 400
> PHP Warning:  Division by zero in /var/www/
> volkszaehler.org/vendor/symfony/console/Symfony/Component/Console/Helper/ProgressBar.php
> on line 401
>  [============================] 100%    1 sec/1 sec    4 rowsPHP Warning:
> Division by zero in /var/www/
> volkszaehler.org/vendor/symfony/console/Symfony/Component/Console/Helper/ProgressBar.php
> on line 400
> PHP Warning:  Division by zero in /var/www/
> volkszaehler.org/vendor/symfony/console/Symfony/Component/Console/Helper/ProgressBar.php
> on line 401
>  [============================] 100%    1 sec/1 sec    4 rows
>
> data: copying 40 rows (partial copy)
>  [============================] 100%    1 sec/1 sec    40 rows
>
> aggregate: skipping
> pi at raspberrypi ~ $
>
>
> Viele Grüße,
Andreas



>
>
> Am 18.12.2015 um 09:56 schrieb Andreas Götz:
>
> Hi Sirko,ä
> Ich seh im dump ld nicht wo der Fehler verursacht wird. Dürfte ich das bei
> Dir mal live per ssh anschauen?
>
> Danke und Gruß, Andreas
>
> Am 17.12.2015 um 14:30 schrieb Sirko < <mail_ist at nurfuerspam.de>
> mail_ist at nurfuerspam.de>:
>
> Hi Andreas,
>
> hat etwas gedauert, aber
>
> nach einem git pull scheint es eher noch schlimmer zu sein mit dem
> DivisionByZero:
>
> pi at raspberrypi ~ $ php /var/www/volkszaehler.org/misc/tools/dbcopy.php
> backup -c /var/www/volkszaehler.org/misc/tools/dbcopy.json
> entities: copying 14 rows (overwrite)
>  [>---------------------------]   0%    1 sec/1 sec     0 rowsPHP
> Warning:  Division by zero in /var/www/
> volkszaehler.org/vendor/symfony/console/Symfony/Component/Console/Helper/ProgressBar.php
> on line 400
> PHP Warning:  Division by zero in /var/www/
> volkszaehler.org/vendor/symfony/console/Symfony/Component/Console/Helper/ProgressBar.php
> on line 401
>  [============================] 100%    1 sec/1 sec    14 rowsPHP
> Warning:  Division by zero in /var/www/
> volkszaehler.org/vendor/symfony/console/Symfony/Component/Console/Helper/ProgressBar.php
> on line 400
> PHP Warning:  Division by zero in /var/www/
> volkszaehler.org/vendor/symfony/console/Symfony/Component/Console/Helper/ProgressBar.php
> on line 401
>  [============================] 100%    1 sec/1 sec    14 rows
>
> properties: copying 119 rows (overwrite)
>  [============================] 100%    1 sec/1 sec    119 rows
>
> entities_in_aggregator: copying 4 rows (overwrite)
>  [>---------------------------]   0%    1 sec/1 sec    0 rowsPHP Warning:
> Division by zero in /var/www/
> volkszaehler.org/vendor/symfony/console/Symfony/Component/Console/Helper/ProgressBar.php
> on line 400
> PHP Warning:  Division by zero in /var/www/
> volkszaehler.org/vendor/symfony/console/Symfony/Component/Console/Helper/ProgressBar.php
> on line 401
>  [============================] 100%    1 sec/1 sec    4 rowsPHP Warning:
> Division by zero in /var/www/
> volkszaehler.org/vendor/symfony/console/Symfony/Component/Console/Helper/ProgressBar.php
> on line 400
> PHP Warning:  Division by zero in /var/www/
> volkszaehler.org/vendor/symfony/console/Symfony/Component/Console/Helper/ProgressBar.php
> on line 401
>  [============================] 100%    1 sec/1 sec    4 rows
>
> data: copying 56 rows (partial copy)
>  [============================] 100%    1 sec/1 sec    57 rows
>
> aggregate: skipping
>
> der -k Parameter scheint zu funktionieren.
> Grüße
> Sirko
>
>
> Am 15.11.2015 um 11:41 schrieb Andreas Goetz:
>
> Hallo Sirko,
>
> 2015-10-29 9:54 GMT+01:00 Sirko <mail_ist at nurfuerspam.de>:
>
>> Hi,
>>
>> ich nutze auch dbcopy, weil soweit ich weiß mit mysqldump keine
>> inkrementellen Backups gemacht werden können.
>> Allerdings waren die dbcopy-Sicherungen eher unregelmäßig und so sind mir
>> ca. 3 Wochen Daten verloren gegangen, als meinem Raspi vor 2 Wochen der
>> endgültige SD-Tod ereilt hat.
>>
>> Bei mir läuft einfach auf meinem Desktop-Rechner ein MySQL als Ziel-DB.
>> Von dort hab ich dann einen Dump gezogen und im Raspi importiert, um die
>> DAten auf einenr neuen SD wiederherzustellen.
>>
>> Als (hoffentlich in Zukunft täglich laufendes) BackupScript hab ich
>> einfach die Zeilen:
>>
>> #!/bin/bash
>> #
>> ##############
>> # this script uses dbcopy https://github.com/andig/dbcopy
>> # to incrementally backup volkszaehler data to another
>> # database
>> #
>> #
>> ##############
>>
>> # test for running mysql-DB
>> connection_error=`nc -z -w5 192.168.178.99 3306;echo $?`
>> #echo $connection_error
>>
>> if [ $connection_error -gt 0 ]
>>         then
>>                 echo "DB is down, exiting"
>>         else
>>                 sudo php /var/www/volkszaehler.org/misc/tools/dbcopy.php
>> backup -c /var/www/volkszaehler.org/misc/tools/dbcopy.json
>>
>> fi
>>
>> 192.168.178.99 ist dabei die IP meines Desktop-Rechners, die /var/www/
>> volkszaehler.org/misc/tools/dbcopy.jsonmuß
>> <http://volkszaehler.org/misc/tools/dbcopy.jsonmu%C3%9F> natürlich auch
>> richtig konfiguriert werden.
>>
>> Als Rückmeldung an Andreas: was mir immer auffällt (aber keine Probleme
>> macht), sind die "Division by zero" Meldungen:
>> pi at raspberrypi ~ $ bin/incremental_db_backup.sh
>> ...
>> entities_in_aggregator: copying 0 rows (overwrite)
>>     0 [>---------------------------]PHP Warning: Division by zero in
>> /var/www/
>> volkszaehler.org/vendor/symfony/console/Symfony/Component/Console/Helper/ProgressBar.php
>> on line 400
>>
>
> Der Fehler sollte jetzt behoben sein, könntest Du das verifizieren?
>
>
>> Allerdings hab ich einen Feature-Request. ...
>>
>> Jetzt zum Feature-Request: ich mußte im dbcopy rumpfuschen, damit es mir
>> auf dem Raspi nicht die FKs droppt, weil das Erstellen derselben nach dem
>> dbcopy wieder ewig gedauert hätte.
>>
>
> Guter Punkt. Im Moment ist das nötig weil nicht in logischen Einheiten
> sondern tabellenweise kopiert wird. Um die Entities zu kopieren müssen
> vorher die Properties stimmen (sonst fehlender Foreign Key) und umgekehrt.
> Das geht nur wenn die FKs weg sind oder sich an diesen Tabellen nichts
> ändert das zu einer FK Violation führen würde.
>
> Per Code kann ich das nicht abfangen.
>
>
>> Ich hätte daher gern einen Schalter am dbcopy, mit welchem man das
>> Droppen der FKs unterbinden kann. Wäre das möglich, Andreas?
>>
>
> Es gibt zwei Möglichkeiten: entweder eine Option die das verhindert
> (einfach genug) oder Du probierst mal ob Dir das droppen nicht reicht. Die
> FKs sind zwar "schön" aber eigentlich nicht notwendig da sich VZ um
> korrekte Integrität kümmert.
>
>
>>
>> Grüße
>> Sirko
>>
>>
> Viele Grüße,
> Andreas
>
>
>>
>> Am 29.10.2015 um 08:11 schrieb Andreas Götz:
>>
>>> Hi Daniel,
>>>
>>> Funktioniert dbcopy für Dich? Hab wenig Rückmeldung bekommen...
>>>
>>> Viele Grüße, Andreas
>>>
>>>
>>> Am 29.10.2015 um 07:43 schrieb Daniel Lauckner < <mailing at jahp.de>
>>>> mailing at jahp.de>:
>>>>
>>>> Am Dienstag, 27. Oktober 2015 um 22:37 schrieb Theo:
>>>>> Darf ich fragen welches php Script mysql-backup du verwendest?
>>>>>
>>>> ~/bin/mysql-backup
>>>> Liegt im aktuellen Image hoffentlich noch an der selben Stelle.
>>>>
>>>> Würde nicht ein einfaches per cron job gestartetes Shell
>>>>> script in dem mysqldump ausgeführt wird reichen?
>>>>>
>>>> Ja.
>>>>
>>>> Oder liegt das
>>>>> daran das ich damit immer nur ein und die selbe Sicherungsdatei
>>>>> erstelle und somit immer nur das letzte Backup zur Verfügung habe?
>>>>>
>>>> Das php-Script erstellt eine neue Datei mit Datum im Namen.
>>>>
>>>> Schönheitsfehler vom mysqldump auf dem Raspi ist halt das es die
>>>> Datenbank zu sehr stresst und in Folge der vzlogger aus dem
>>>> Tritt kommt.
>>>>
>>>> Deswegen mein Wechsel zu dbcopy.
>>>>
>>>> Ich habe hier https://wiki.ubuntuusers.de/MySQL/Backup [...]
>>>>> etwas gefunden, da wird ganz
>>>>> unten auch ein script vorgestellt mit dem man auch inkrementelle
>>>>> Sicherungen anfertigen kann.
>>>>>
>>>> Ob bzr eine Alternative ist kann ich leider nicht einschätzen.
>>>>
>>>>
>>>> Mir geht es darum ob das prinzipiell der richtige Weg ist.
>>>>>
>>>> Regelmäßige inkrementelle Sicherung und gelegentlicher Vollabzug
>>>> der DB ist fast schon das Optimum.
>>>>
>>>>
>>>> mfg Daniel
>>>>
>>>>
>>>> ---
>>>> Diese E-Mail wurde von Avast Antivirus-Software auf Viren geprüft.
>>>> https://www.avast.com/antivirus
>>>>
>>>>
>>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20151222/bed0329c/attachment-0001.html>


More information about the volkszaehler-users mailing list