[Gelöst] script Zeitumstellung

  • Hallo zusammen,


    die Zeitumstellung steht an und ich hoffe jemand kann mir auf die Sprünge helfen warum bei mir das script aus www.vdr-wiki.de/wiki/index.php/ACPI_Wakeup (poweroff-localtime2.sh) nicht funktioniert (BIOS mit localtime). Konkret funktioniert die Unterscheidung CEST/MET nicht(immer MET):
    if [[ `$DATE` =~ "CEST" ]]; then
    TIMER=`echo "$1 + 2 * 60 * 60" | bc`;
    else
    TIMER=`echo "$1 + 60 * 60" | bc`;
    fi
    Das script liegt in "/usr/share/vdr/shutdown-hooks", wenn ich das (den Teil) direkt als bash-script teste funktioniert es.
    (habe #!/bin/sh# in !/bin/bash abgeändert. Warum weiß ich nicht mehr, aber die Weiche funktioniert in beiden Varianten nicht)
    BTW 1. musste ich, wie in der Diskussionsseite zur Wikiseite beschrieben, DATE=/bin/date in DATE=$(/bin/date) abändern (warum wurde das im Wiki nicht verbessert?)
    2. geht aus der Wiki-Seite nicht hervor, wie das script zu verwenden ist. In meinem Kontexst als wrapper(?) muß "/sbin/shutdown -h now" auskommentiert werden. (warum ich "hwclock --systohc --localtime" auskommentiert habe, weiß ich nicht mehr)


    Gruß Thomas

    Debian Stretch xfce auf msi P55-GD65 mit HD4350, Sundtek MediaTVIII (DVB-T2), VDR 2.2.0 mit HEVC-patch

    Einmal editiert, zuletzt von tarpan ()

  • Halbwegs aktuelle Winzigweichs laufen doch ohne Probleme mit der Hardware-Uhr in UTC...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)


  • Die Antwort deines Vorposters nahm ich zum Anlaß selbst nochmal zu Windows und UTC zu suchen. Die Aussagen dazu waren widersprüchlich, insbesondere ob der Reghack bei W8 noch funktioniert. U.a. bei technet.microsoft hieß es nicht (nur in einem Englisch, das auch Google mir nicht verständlicher übersetzte).
    Dank deines Links weiß ich wenigstens wieder, warum ich mich für localtime entschieden habe (XP mit hipernation) :) und den Tipp QWORD statt DWORD bei 64 bit zu verwenden könnte wesentlich sein.
    Zur Zeit habe ich keine verwendbare Windowsinstallation und wollte W8 erst wieder installieren, wenn ich es wirklich mal brauche.


    Hat denn niemand eine Idee, warum die if-Abfrage im shutdownscript als wrapper nicht funktiontert?

    Debian Stretch xfce auf msi P55-GD65 mit HD4350, Sundtek MediaTVIII (DVB-T2), VDR 2.2.0 mit HEVC-patch


  • Versuchs mal so: ;)


    Code
    if [ "$(date) |grep CEST" ] ; then


    Funktioniert nicht. Jetzt wird der else-Zweig nie erreicht, egal was gesucht wird (auch mit Leerzeichen vor grep).


    BTW im Prinzip stimme ich dir ja zu das es suboptimal ist den vdr auf dem Desktoprechner laufen zu lassen. Mein Versuch mit einem Raspi ist schiefgegangen, weil bei Kernel > 3.2 mein TV-Stick nicht mehr korrekt funktioniert. Aber das ist ein anderes Thema, das ich auch seit einem halben Jahr vor mir herschiebe. Wobei ich da weniger Hoffnung auf eine (Software-)Lösung habe.

    Debian Stretch xfce auf msi P55-GD65 mit HD4350, Sundtek MediaTVIII (DVB-T2), VDR 2.2.0 mit HEVC-patch

  • Muss natürlich so lauten:


    Code
    if [ "$(date |grep CEST)" ] ; then


    Code
    satip ~ # [ "$(date |grep CEST)" ] && echo "wir haben Sommerzeit"
    wir haben Sommerzeit
    satip ~ # [ "$(date |grep CET)" ] && echo "wir haben Winterzeit"
    satip ~ #


    oder:


    Code
    if [ "$(date |grep CEST)" ] ; then
      echo "wir haben Sommerzeit"
    else
      echo "wir haben Winterzeit"
    fi
  • Ich hatte mal das gleiche Problem mit meinem Shutdown-Script.


    Wie der Zufall so wollte, habe ich beim Testen dann festgestellt, das wenn ich nicht nach CEST abfrage sondern nach CET, bei mir das Ganze funktioniert, und seitdem auch ohne Probleme.


    Code
    ZEITZONE=`date '+%Z'`
    if [[ $ZEITZONE == "CET" ]] ; then
    .
    .
    .


    Warum es mit CEST nicht ging, habe ich dann nicht weiter untersucht.


    Gruß
    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Muss natürlich so lauten:


    Code
    if [ "$(date |grep CEST)" ] ; then


    Jetzt gehts :) Dank an alle, die sich mit meinem Problem auseinander gesetzt haben ( kamel5, deine Version teste ich nicht mehr).


    Aber weil der Weg das Ziel ist ;) noch zwei Nachfrage
    1. Wie kann in der Konstruktion mit grep statt date eine Variable mit dem Inhalt von date verwendet werden? Ich hätte gedacht das "$DATE" geht. Tuts aber nicht.
    2. Warum gibt es den Unterschied zwischen dem direkten ausführen in der bash und als shutdownscript in dem hooks-Ordner? Debianspezifisches Problem?

    Debian Stretch xfce auf msi P55-GD65 mit HD4350, Sundtek MediaTVIII (DVB-T2), VDR 2.2.0 mit HEVC-patch

  • Zu 1]


    Du vergleichst den Sting, den date ausgibt mit CEST:


    Sa 25. Okt 15:20:18 CEST 2014 = CEST


    Und das was vor dem "=" ist, ist nunmal nicht gleich dem, was hinter dem "=" ist.


    BTW: der Vorschlag mit dem "+%Z" von kamel5 gefällt mir auch, dann braucht man das grep nicht.


    Code
    if [ "$(date +%Z)" == CEST ] ; then


    Zu 2]


    Dazu kann ich nicht sagen, da ich kein Debian einsetzte.

  • Zu 1]


    Du vergleichst den Sting, den date ausgibt mit CEST:


    Ich meinte natürlich eine Variable in deiner grep-Konstruktion, wie:

    Code
    if [ "$("$DATE" |grep CEST)" ] ; then


    BTW: der Vorschlag mit dem "+%Z" von kamel5 gefällt mir auch, dann braucht man das grep nicht.


    Code
    if [ "$(date +%Z)" == CEST ] ; then


    eleganter find ich es auch, aber deine konkrete Umsetzung sieht wieder etwas anders aus wie die von kamel5. Mein Ziel hab ich erreicht und weitere Neustartorgien mache ich höchstens um den "Weg" zu klären.


    Zu 2]


    Dazu kann ich nicht sagen, da ich kein Debian einsetzte.


    Debian war nur eine Vermutung.

    Debian Stretch xfce auf msi P55-GD65 mit HD4350, Sundtek MediaTVIII (DVB-T2), VDR 2.2.0 mit HEVC-patch

  • Nö, ist genau das Selbe, nur dass ich keine Variable setzte, sondern den Befehl direkt in "test" ausführe. ;)


    Ich meinte die konktete Syntax, also der Einsatz (bzw. nichtEinsatz) von
    "" und `` etc.
    Da ich es nicht verstanden habe, warum das script im Wiki (bei mir und
    anscheinent kamel5) nicht funktioniert, ändere ich dort nix ab.
    Lösungsmöglichkeiten sind zumindest hier im Thread genannt.


    BTW hing sich der VDR nach der Zeitumstellung auf, so das ich ihn restarten musste. Und der Tatort 23 h
    lang war. Leider hab ich ein "imuxsock begins to drop messages" so das
    eine eindeutige zuordnung (z.B. bestimmtes plugin) nicht möglich ist.
    Die Systemzeit hat sich jedenfalls nach dem Start des vdr auf Winterzeit
    umgestellt.

    Debian Stretch xfce auf msi P55-GD65 mit HD4350, Sundtek MediaTVIII (DVB-T2), VDR 2.2.0 mit HEVC-patch

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!