<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Backitup: Restore einer SQL-Datenreihe]]></title><description><![CDATA[<p dir="auto">Hallo, ich hab zu meinem Problem nichts gefunden: Ich hab mir eine Datenreihe in meiner SQL-Datenbank gelöscht (mit einem javascript Script, das eigentlich nur fehlerhafte Daten löschen sollte). Jetzt würde ich die Datenreihe gerne wieder aus einem der Backups holen. Was für ein Format hat denn die .tar.gz Datei und wie kann man daraus einzelne Werte auslesen bzw. exportieren?<br />
Ist insofern eigenartig, weil das file so aussieht:<br />
tar tvf mysql_2019_11_02-03_10_08_backupiobroker.tar<br />
-rw-r--r-- 1010/1017 4430254493 2019-11-02 03:16 .<br />
D.h. kein Dateiname?</p>
]]></description><link>https://forum.iobroker.net/topic/26673/backitup-restore-einer-sql-datenreihe</link><generator>RSS for Node</generator><lastBuildDate>Fri, 22 May 2026 09:13:55 GMT</lastBuildDate><atom:link href="https://forum.iobroker.net/topic/26673.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 Nov 2019 17:08:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Backitup: Restore einer SQL-Datenreihe on Fri, 19 Mar 2021 20:37:24 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/joefarm" aria-label="Profile: joefarm">@<bdi>joefarm</bdi></a> sagte in <a href="/post/324754">Backitup: Restore einer SQL-Datenreihe</a>:</p>
<blockquote>
<p dir="auto">Ok ich hab die Lösung selbst gefunden. Das ".tar"-file ist kein tar file, sondern einfach ein mit sqldump erzeugtes text-file. Die fehlende Datenreihe habe ich mir dann raus-editiert und per mysql wieder in die Datenbank geschrieben. Hat sich also erledigt.<br />
Nur: das .tar ist echt verwirrend. Meine "echte" Linux-Zeit ist zwar schon 25 Jahre her, aber mit tar hat man zu meiner Zeit ganze Directories verpackt und nicht ein einzelnes Text-file damit bezeichnet. Hab ich da was verpasst? Warum heißt das backup nicht sowas wie backup.sql.gz?</p>
</blockquote>
<p dir="auto">Hi, wollte heute auch das Backup wieder einspielen, gibt es hier einen Königsweg die Daten wieder zu importieren? Ca. 670MB groß...</p>
]]></description><link>https://forum.iobroker.net/post/601438</link><guid isPermaLink="true">https://forum.iobroker.net/post/601438</guid><dc:creator><![CDATA[smartboart]]></dc:creator><pubDate>Fri, 19 Mar 2021 20:37:24 GMT</pubDate></item><item><title><![CDATA[Reply to Backitup: Restore einer SQL-Datenreihe on Wed, 13 Nov 2019 12:11:32 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/r%C3%B6stkartoffel" aria-label="Profile: Röstkartoffel">@<bdi>Röstkartoffel</bdi></a> said in <a href="/post/324787">Backitup: Restore einer SQL-Datenreihe</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/joefarm" aria-label="Profile: joefarm">@<bdi>joefarm</bdi></a> sagte in <a href="/post/324656">Backitup: Restore einer SQL-Datenreihe</a>:</p>
<blockquote>
<p dir="auto">Hallo, ich hab zu meinem Problem nichts gefunden: Ich hab mir eine Datenreihe in meiner SQL-Datenbank gelöscht (mit einem javascript Script, das eigentlich nur fehlerhafte Daten löschen sollte).<br />
....</p>
</blockquote>
<p dir="auto">Kannst du mir bitte verraten, um welches Skript es sich gehandelt hat? Kam das auch hier aus dem Forum?<br />
Ich frage deshalb, weil ich auch mit einem Skript verwaiste Daten aus der SQL-Datenbank löschen wollte, mich aber bisher nicht traute.</p>
</blockquote>
<p dir="auto">Das ist sicher eine gute Idee, wenn man mit solchen Skripten vorsichtig ist <img src="https://forum.iobroker.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f610.png?v=ba16ebd4856" class="not-responsive emoji emoji-android emoji--neutral_face" style="height:23px;width:auto;vertical-align:middle" title=":neutral_face:" alt="😐" />  Genau weil ich eben nicht vorsichtig war hatte ich mir eine Reihe gelöscht.</p>
<p dir="auto">Und mein Skript enthält auch nichts, was erst mal einen Dry-run machen würde. Aber vom Grundprinzip sieht das so aus:</p>
<pre><code>var sqlid = 0;

var series = [
    'statistics.0.save.sumDelta.modbus.0.holdingRegisters.320_Totale_Erzeugung.month',
    'statistics.0.save.sumDelta.modbus.0.holdingRegisters.118_Totalhomeconsumption.day',
    'statistics.0.save.sumDelta.modbus.1.holdingRegisters.40107_M_Exported.day',
    'statistics.0.save.sumDelta.modbus.0.holdingRegisters.320_Totale_Erzeugung.day', 
    'statistics.0.save.sumDelta.modbus.0.holdingRegisters.114_TotalhomeconsumptionPV.month',
    'statistics.0.save.sumDelta.modbus.0.holdingRegisters.114_TotalhomeconsumptionPV.day',
    'statistics.0.save.sumDelta.modbus.0.holdingRegisters.118_Totalhomeconsumption.month',
    'statistics.0.save.sumDelta.modbus.0.holdingRegisters.112_TotalhomeconsumptionGrid.month',
    'statistics.0.save.sumDelta.modbus.0.holdingRegisters.110_TotalhomeconsumptionBattery.month',
    'statistics.0.save.sumDelta.modbus.1.holdingRegisters.40115_M_Imported.month',
    'statistics.0.save.sumDelta.modbus.1.holdingRegisters.40107_M_Exported.month'
];

console.log(series.length);
series.forEach(clean_series);

function clean_series(item, index) {
    //first get the id
    sendTo('sql.0', 'query', 
            "SELECT id FROM iobroker.datapoints t where t.name = '" + item + "'", 
            function (result) {
        if (result.error) {
            console.error(result.error);
        } else {
            //console.log(JSON.stringify(result.result));
            sqlid = result.result[0].id;
            console.log(item + ' ' + sqlid);
            var query = 'DELETE FROM iobroker.ts_number \
                        WHERE id = ' + sqlid + ' AND ts % 100000 != 99000'; //delete all entries with ts not ending in 99000
            console.log (query);
            sendTo('sql.0', 'query', query, function (result) {
                //console.log(JSON.stringify(result.result));
            });
            };
    });
};
</code></pre>
<p dir="auto">Das Skript ist in meinem Fall dazu da, aus den Statistik-Werten (in meinem Fall die Tages-/usw.-Werte meiner PV-Anlage) alle Werte zu entfernen, die nicht um 23:59 Uhr erzeugt wurden. Meistens sind es einfach doppelte Werte, aber die sehen in den Graphiken nicht gut aus.<br />
Also von der Idee her einfach, aber in der Umsetzung nicht ganz ungefährlich.</p>
]]></description><link>https://forum.iobroker.net/post/324890</link><guid isPermaLink="true">https://forum.iobroker.net/post/324890</guid><dc:creator><![CDATA[joefarm]]></dc:creator><pubDate>Wed, 13 Nov 2019 12:11:32 GMT</pubDate></item><item><title><![CDATA[Reply to Backitup: Restore einer SQL-Datenreihe on Tue, 12 Nov 2019 21:46:31 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/joefarm" aria-label="Profile: joefarm">@<bdi>joefarm</bdi></a> sagte in <a href="/post/324656">Backitup: Restore einer SQL-Datenreihe</a>:</p>
<blockquote>
<p dir="auto">Hallo, ich hab zu meinem Problem nichts gefunden: Ich hab mir eine Datenreihe in meiner SQL-Datenbank gelöscht (mit einem javascript Script, das eigentlich nur fehlerhafte Daten löschen sollte).<br />
....</p>
</blockquote>
<p dir="auto">Kannst du mir bitte verraten, um welches Skript es sich gehandelt hat? Kam das auch hier aus dem Forum?<br />
Ich frage deshalb, weil ich auch mit einem Skript verwaiste Daten aus der SQL-Datenbank löschen wollte, mich aber bisher nicht traute.</p>
]]></description><link>https://forum.iobroker.net/post/324787</link><guid isPermaLink="true">https://forum.iobroker.net/post/324787</guid><dc:creator><![CDATA[Röstkartoffel]]></dc:creator><pubDate>Tue, 12 Nov 2019 21:46:31 GMT</pubDate></item><item><title><![CDATA[Reply to Backitup: Restore einer SQL-Datenreihe on Tue, 12 Nov 2019 20:37:01 GMT]]></title><description><![CDATA[<p dir="auto">Ok ich hab die Lösung selbst gefunden. Das ".tar"-file ist kein tar file, sondern einfach ein mit sqldump erzeugtes text-file. Die fehlende Datenreihe habe ich mir dann raus-editiert und per mysql wieder in die Datenbank geschrieben. Hat sich also erledigt.<br />
Nur: das .tar ist echt verwirrend. Meine "echte" Linux-Zeit ist zwar schon 25 Jahre her, aber mit tar hat man zu meiner Zeit ganze Directories verpackt und nicht ein einzelnes Text-file damit bezeichnet. Hab ich da was verpasst? Warum heißt das backup nicht sowas wie backup.sql.gz?</p>
]]></description><link>https://forum.iobroker.net/post/324754</link><guid isPermaLink="true">https://forum.iobroker.net/post/324754</guid><dc:creator><![CDATA[joefarm]]></dc:creator><pubDate>Tue, 12 Nov 2019 20:37:01 GMT</pubDate></item></channel></rss>