[vz-users] Fragen zur Datensicherung

Andreas Götz cpuidle at gmail.com
Fri Dec 18 09:56:22 CET 2015


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>:
> 
> 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ß 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>:
>>>>> 
>>>>>> 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/20151218/54bd54d8/attachment.html>


More information about the volkszaehler-users mailing list