Beiträge von nobanzai

    Ok :)

    Hm, ich peils grad net - ich meinte die Scripten in <src>/scripts.

    Welche meinst du? Die anderen im selben Verzeichnis bis auf epgd-tool?


    Und noch ne Frage:

    Magst du deine Scripten nicht auch ein wenig genereller bauen, also nicht alle Views und Tabellen namentlich aufführen, sondern sowas wie ich in meinem Script da oben gemacht habe, d.h. die Views und Tabellen dynamisch zusammensuchen? Das mit dem "if exists" werde ich bei meinem Script auch noch einbauen - das kannte ich noch nicht.


    Danke und ciao.

    Michael.

    und zu der Timers Tabelle gibt das drop Skript das hier aus:
    [...]

    kurzum das verwenden dieses Skriptes ist zum 'platt' machen eine gute Idee. Ich versuche auch immer daran zu denken das zu pfelgen wenn sich etwas ändert.

    Was mache ich eigentlich falsch, wenn ich von den epgd-Tools gesagt bekomme "Access denied for user 'epg2vdr'@'localhost' (using password: YES"?

    Ich habe DBPass in epgd.conf geändert, aber eigentlich auch im passenden File "~/.ssh/mysqlpasswd" die Variable "PASSWORD" entsprechend gesetzt.

    Irgendwie ist mir nicht klar, wie hier PASSWORD und MYSQL_PWD im Script zusammenspielen sollen.

    Versuche ich mal, wenn ich wieder vom Urlaub daheim bin - danke für den Hinweis.

    Falls noch irgendjemand über das epgd-tool hinaus irgendwelche backup/recovery/reset Routinen braucht, hänge ich mal mein Script an.

    Wie immer - ohne Gewähr.


    Was sagt denn das Syslog? Sind epgd und epg2vdr auf dem selben Rechner?

    Kürzlich irgendwo ein Update gemacht?

    Epgdata-Abo abgelaufen?


    Gruß Jan

    Danke für deine Antwort, aber wie geschrieben: Keinerlei Fehler in irgendeinem Log - weder im Journal, aka syslog noch im Log von epgd selber.

    Kein Update, kein abgelaufenes Abo, da auch alles geholt und in die DB geschrieben wird nach einem Truncate der entsprechenden Tabellen.

    Ich hab jetzt *alle* bis auf die für mich wesentlichen (vor allem searchtimers und parameters) Tabellen truncated, danach hat epgd alles brav wieder eingelesen und jetzt geht auf einmal wieder alles.

    Kann man so machen, macht aber keinen Spass.

    Mich würde nur mal interessieren, was sich da verstrubbelt hatte, denn wie gesagt - gemeldet wurden keinerlei Fehler.


    Ciao.

    Michael.

    Ho *,

    ich habe aktuell (seit letzter Woche) das Problem, dass weder über das WebIF Programminfos verfügbar sind, noch Daten an den VDR weiter gereicht werden. Die EPG-Daten wurden immer scheinbar weniger und waren am Ende ganz weg.

    In der Datenbank sind allerdings alle Events und auch die Channelmaps vorhanden, wenn man sich das Ganze per SQL ansieht.

    Ich habe auch scon mal alle Tabellen truncated und alles neu einlesen lassen. Dabei treten keine Fehler auf, lt. Journal läuft alles sauber durch. Danach sind auch die Tabellen wieder gefüllt - nur das Ursprungsproblem ist leider nach wie vor da.


    Hat Jemand ne Idee?

    Hat sich evtl. die Datenstruktur von epgdata wieder mal geändert, wo meine EPG-Daten primär herkommen?


    Danke und ciao.

    Michael.

    Ok, da kommt tatsächlich der String "NULL" zurück.

    Ich hab mal Zeile 927in lib/db.c geändert auf:


    Code
    1. fields[row[0]].def = (row[6] && strcmp(row[6], "NULL") != 0) ? row[6] : "";


    Jetzt kommen nur noch zwei Meldungen:

    Code
    1. Sep 02 13:40:27 boston epghttpd[19574]: before alterModifyField: timers.STATE
    2. Sep 02 13:40:27 boston epghttpd[19574]: colDef >'u'<->u<
    3. Sep 02 13:40:27 boston epghttpd[19574]: Type & Primary >0<
    4. Sep 02 13:40:27 boston epghttpd[19574]: Info: Definition of field 'timers.STATE' modified, try to alter table
    5. Sep 02 13:40:27 boston epghttpd[19574]: Execute [alter table timers modify column state VARCHAR(1) comment '\'D\'eleted, \'R\'unning, \'F\'inished' default 'u']
    6. Sep 02 13:40:27 boston epghttpd[19574]: before alterModifyField: timers.ACTION
    7. Sep 02 13:40:27 boston epghttpd[19574]: colDef >'a'<->a<
    8. Sep 02 13:40:27 boston epghttpd[19574]: Type & Primary >0<
    9. Sep 02 13:40:27 boston epghttpd[19574]: Info: Definition of field 'timers.ACTION' modified, try to alter table
    10. Sep 02 13:40:27 boston epghttpd[19574]: Execute [alter table timers modify column action VARCHAR(1) comment '' default 'a']


    Und da stehen als Defaultwerte in der Datenbank wirklich 'a' und 'u' inkl. der Hochkommata.


    Soll das so?

    Ich hab mal ein wenig "printf debugging" eingebaut:


    Code
    1. Sep 02 11:14:47 boston epghttpd[26881]: before alterModifyField: vdrs.VIDEOFREE
    2. Sep 02 11:14:47 boston epghttpd[26881]: colDef >NULL<-><
    3. Sep 02 11:14:47 boston epghttpd[26881]: Type >1< Primary >2<
    4. Sep 02 11:14:47 boston epghttpd[26881]: Info: Definition of field 'vdrs.VIDEOFREE' modified, try to alter table
    5. Sep 02 11:14:47 boston epghttpd[26881]: Execute [alter table vdrs modify column videofree INT(11) unsigned comment '' ]

    Sieht aus, als läge es an der Zeile 953 in lib/db.c:

    Code
    1. ( strcasecmp(fieldInfo->def.c_str(), getField(i)->getDefault()) != 0 && !(getField(i)->getType() & ftPrimary))


    Wobei ich mangels Ahnung von mariadb nicht weiß, was da auf einmal anders als vorher ist.

    Kann es sein, dass NULL unerwartet ist für fieldInfo->def.c_str()?


    Ciao.

    Michael.

    Hi *,


    nach Update auf die openSUSE Leap 15.0 und damit auf mariadb 10.2.15 werden alle (?) Felddefinitionen bei *jedem* Start angemault:

    Code
    1. Sep 01 15:04:29 boston epgd[22516]: Checking table structure and indices ...
    2. Sep 01 15:04:29 boston epgd[22516]: Checking table 'analyse'
    3. Sep 01 15:04:29 boston epgd[22516]: Info: Definition of field 'analyse.VDRMASTERID' modified, try to alter table
    4. Sep 01 15:04:29 boston epgd[22516]: Execute [alter table analyse modify column vdr_masterid INT(11) unsigned comment '' ]
    5. Sep 01 15:04:29 boston epgd[22516]: Info: Definition of field 'analyse.VDRSTARTTIME' modified, try to alter table
    6. Sep 01 15:04:29 boston epgd[22516]: Execute [alter table analyse modify column vdr_starttime INT(10) comment '' ]


    Es kommen keine Fehler ansonsten und danach scheint epgd auch zu laufen, aber beim nächsten Start geht dasselbe Spiel wieder los.

    Auch beim Starten von epghttpd passiert dasselbe.


    Ist das eine Inkompatibilät zu dieser MariaDB Version oder hab ich was übersehen?


    Danke und ciao.

    Michael.

    hm, heute sind die ersten 5 der 8 Spiele im EPG aufgetaucht - *gleichzeitig* sind aber die Filme zur selben Zeit auch noch drin 8-<

    Ich nehme an, epgdata hat da ein Problem.

    Vielleicht hilft es ja jemandem, wenn Du hier für die Ewigkeit hinterlegst, wie Du das gemacht hast? Danke!


    Christian

    Im Groben so, wie ich es oben in meiner Frage bereits beschrieben hatte:


    1. Rechte zum Export in Dateien vergeben, z.B.:

    Code
    1. GRANT FILE ON *.* TO 'epg2vdr'@'localhost' identified by 'epg';

    2. Ggf. die entsprechende Sicherheitseinstellung von mysql zum Export in beliebige Dateien aushebeln, d.h. in /etc/my.cnf.d/secure_file_priv.cnf (oder wo immer das auch steht in der jeweiligen Distro) "secure_file_priv" auskommentieren oder anpassen:

    Code
    1. [server]
    2. ; secure_file_priv = /var/lib/mysql-files
    3. secure_file_priv =

    3. searchtimers mittels mysql cli exportieren:

    Code
    1. mysql -u epg2vdr -p epg -e "SELECT * FROM searchtimers INTO OUTFILE 'searchtimers.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '''' LINES TERMINATED BY '\n';"

    4. epgd-Datenbank löschen:

    Code
    1. epgd-tool -del-db

    5. epgd-Datenbank neu anlegen:

    Code
    1. epgd-tool -new-db

    6. Warten, bis EPGD mit allen Aufgaben soweit fertig ist, also epg wieder einlesen, Bilder holen, Sendernamen ermitteln usw.

    7. Einstellungen via epghttpd GUI wieder setzen wie vorher (u.a. Mailsettings, Format für Logos, ...)

    8. searchtimers mittels mysql cli importieren:

    Code
    1. mysql -u epg2vdr -p epg -e "LOAD DATA INFILE 'searchtimers.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '''' LINES TERMINATED BY '\n';"


    Das ist jetzt aus dem Kopf reproduziert, d.h. es können Fehler drin sein.

    Aber der Ablauf sollte damit im Groben klar sein.


    Ciao.

    Michael.

    Hi *,


    ich möchte gerne alle Tabellen bis auf die Suchtimer löschen, d.h. searchtimers exportieren, dropall, alle Tabellen neu anlegen (z.b. mit epgd-tool) und dann searchtimers wieder importieren.

    Ohne jetzt das Schema im Ganzen im Kopf zu haben, wäre die Frage, ob das geht oder ob da irgendwelche constraints dagegen sprächen?


    Danke und ciao.

    Michael.