Einstellung für automatisches Löschen der CCcam.cfg

    • Einstellung für automatisches Löschen der CCcam.cfg

      Hallo!

      Ich hoffe ihr könnt mir einen Tip geben. Besteht die Möglichkeit die CCcam.cfg automatisch beim kompletten Runterfahren/-Ausschalten der Dreambox löschen zu lassen?

      Kann man das durch irgend eine Einstellung der Box realisieren oder die Datei dazu in einem anderen als dem Standardverzeichnis ablegen?

      Solange die Box sich nur im Standby befindet soll die Datei erhalten bleiben. Erst beim kompletten Runterfahren der Box soll der Vorgang durchgeführt werden.

      Über einen Lösungsvorschlag würde ich mich freuen.

      Vielen Dank!
    • Möglickeiten gibts da mehrere, z.b. per init script den Löschvorgang beim Runterfahren auslösen.

      /usr/script/config_remove.sh

      Shell-Script

      1. #!/bin/sh
      2. case $1 in
      3. stop) [ -e /etc/CCcam.cfg ] && rm /etc/CCcam.cfg;;
      4. esac
      5. exit 0


      dann einen Symlink nach /etc/rc0.d erstellen - dann sollte beim runterfahren (init 0) das file gelöscht werden, gleich nachdem CCcam gestoppt wurde
      ln -sf /usr/script/config_remove.sh /etc/rc0.d/K20config_remove.sh

      Schon überlegt, wie es beim Hochfahren wiederhergestellt werden soll?

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Fred Bogus Trumper ()

    • Hallo!

      Also danke erst einmal für eure beiden Antworten.

      Welcher Weg ist der einfachere oder bessere davon?

      @Fred:
      Das die Datei bei Bedarf über FTP dann neu eingespielt werden müsste, wäre mir egal. Also einfach in ---> "/usr/script/config_remove.sh" gehen und die Config-Datei dort, laut deinem Quellcode dementsprechend anpassen?

      Was meinst du aber mit " ......dann einen Symlink nach /etc/rc0.d erstellen"? ( ln -sf /usr/script/config_remove.sh /etc/rc0.d/K20config_remove.sh ) Wie stelle ich das an? So bewandert bin ich da leider auch nicht. Könntest du mir das genauer erklären?

      @stappoe:
      Das mit dem /tmp Ordner hatte ich irgendwo auch schon einmal bei einem anderen User gelesen, welcher das auf diesem Wege bewerkstelligt hatte. Leider hat er aber nicht beschrieben wie er das genau gemacht hatte. Könntest du mir erklären was ich dazu wo einzutragen hätte?

      Wie gesagt ich bin jetzt nicht bis in die Tiefen mit der Box vertraut. Lerne aber gerne dazu!

      Welchen der beiden Lösungsansätze würdet ihr, wenn dann aufgreifen?

      Vielen Dank!
    • Leider hat er aber nicht beschrieben wie er das genau gemacht hatte. Könntest du mir erklären was ich dazu wo einzutragen hätte?


      Die CCcam.cfg unter /tmp ablegen und einfach einen Symlink erstellen.

      ln -s /tmp/CCcam.cfg /etc/CCcam.cfg
    • Oder, falls Du keinen Syslink anlegen willst startest Du den Oscam einfach über Telnet mit der Option -c. Mit -c kannst Du Oscam beim starten sagen, wo die cfg Dateien liegen. Wenn Oscam also bei Dir unter /usr/bin liegen würde und oscam-unstable heißt und die Configs in /tmp liegen müßteste Du Dich mit Telnet einloggen und dann:
      /usr/bin/oscam-unstable -c /tmp
      Ich habe das selber nicht ausprobiert aber eigentlich müsste es funktionieren
    • Moin!

      Auch CCcam lässt sich mit einem anderen config Verzeichnis starten.
      -C /Pfad/zur/CCcam.cfg
      Man beachte das große C.
      Tragt man dies nun in das Startscript ein. braucht man kein Links oder ähnliches.
      /usr/script/CCcam2.3.0.emu:
      original
      #!/bin/sh
      ########################################
      ###### Powered by NewNigma2 Team ######
      ### newngima2.to ###
      ########################################

      # EMUNAME is only Display name for EMU Menu
      EMUNAME="CCcam 2.3.0"
      # CCcamversion
      CCVer="CCcam2.3.0"


      remove_tmp ()
      {
      [ -e /tmp/ecm.info ] && rm -rf /tmp/ecm.info
      [ -e /tmp/ecm0.info ] && rm -rf /tmp/ecm0.info
      [ -e /tmp/ecm1.info ] && rm -rf /tmp/ecm1.info
      [ -e /tmp/.CCcam.nodeid ] && rm -rf /tmp/.CCcam.nodeid
      [ -e /tmp/warnings.txt ] && rm -rf /tmp/warnings.txt
      }

      case "$1" in
      start)
      echo "[SCRIPT] $1: $EMUNAME"
      if [ `pidof $CCVer | wc -l` == 1 ]; then
      echo "[0;31m $CCVer already running...[0m"
      else
      /usr/bin/$CCVer
      fi
      ;;
      stop)
      echo "[SCRIPT] $1: $EMUNAME"
      if [ `pidof $CCVer | wc -l` == 0 ]; then
      echo "[0;31m $CCVer not running...[0m"
      else
      kill `pidof $CCVer`
      sleep 2
      fi
      if [ `pidof $CCVer | wc -l` == 1 ]; then
      kill -9 `pidof $CCVer`
      fi
      remove_tmp
      ;;
      restart)
      $0 stop
      sleep 2
      $0 start
      ;;
      *)
      echo "[0;32m Usage: $0 start|stop|restart[0m"
      exit 1
      ;;
      esac

      exit 0

      modifiziert
      #!/bin/sh
      ########################################
      ###### Powered by NewNigma2 Team ######
      ### newngima2.to ###
      ########################################

      # EMUNAME is only Display name for EMU Menu
      EMUNAME="CCcam 2.3.0"
      # CCcamversion
      CCVer="CCcam2.3.0"
      # use to start binary with extra arguments
      EMUARGS="-C /var/volatile/tmp/CCcam.cfg"


      remove_tmp ()
      {
      [ -e /tmp/ecm.info ] && rm -rf /tmp/ecm.info
      [ -e /tmp/ecm0.info ] && rm -rf /tmp/ecm0.info
      [ -e /tmp/ecm1.info ] && rm -rf /tmp/ecm1.info
      [ -e /tmp/.CCcam.nodeid ] && rm -rf /tmp/.CCcam.nodeid
      [ -e /tmp/warnings.txt ] && rm -rf /tmp/warnings.txt
      }

      case "$1" in
      start)
      echo "[SCRIPT] $1: $EMUNAME"
      if [ `pidof $CCVer | wc -l` == 1 ]; then
      echo "[0;31m $CCVer already running...[0m"
      else
      /usr/bin/$CCVer $EMUARGS
      fi
      ;;
      stop)
      echo "[SCRIPT] $1: $EMUNAME"
      if [ `pidof $CCVer | wc -l` == 0 ]; then
      echo "[0;31m $CCVer not running...[0m"
      else
      kill `pidof $CCVer`
      sleep 2
      fi
      if [ `pidof $CCVer | wc -l` == 1 ]; then
      kill -9 `pidof $CCVer`
      fi
      remove_tmp
      ;;
      restart)
      $0 stop
      sleep 2
      $0 start
      ;;
      *)
      echo "[0;32m Usage: $0 start|stop|restart[0m"
      exit 1
      ;;
      esac

      exit 0

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MiRoMOMO ()

    • @Drakenkorins

      das war mehr oder weniger schon die Anleitung, wie man diesen Symlink (entspiricht einer Verküpfung) erstellt.

      ich persönlich würde den Pfad im CCcam Startscript nicht ändern, einfach weil nach einem Update das meist wieder weg ist. Man kann das alles über ein init script lösen, ohne originalfiles zu patchen Aber die einfachste und wohl auch eleganteste Lösung ware folgende:

      - als Erstes sichert man die CCcam.cfg
      - dann verschiebt man die CCcam.cfg nach /tmp/

      Quellcode

      1. mv /etc/CCcam.cfg /tmp/

      dann erstellt man einen Symlink (Verknüfung) in /etc der auf die /tmp/CCcam.cfg verweist

      Quellcode

      1. ln -sf /tmp/CCcam.cfg /etc/CCcam.cfg


      Dann CCcam erstmal restarten, um sehen ob es funktioniert. CCcam sucht das Configfile weiterhin in /etc wird aber vom Symlink nach /tmp verwiesen. Wenn das funktioniert, einen einen cronjob erstellen, der beim booten das configfile nach /tmp läd:

      z.B.

      Quellcode

      1. @reboot /usr/bin/wget -q -O /tmp/CCcam.cfg http://url/CCcam.cfg


      und das wars auch schon.

      Beim Runterfahren wird /tmp geleert und das Configfile ist gelöscht. Beim hochfahren wird einmalig das configfile von der url per cronjob nach /tmp geladen, und der Symlink /etc/CCcam.cfg sorgt dafür, dass CCcam das configfile findet. So braucht man das CCcam start script nicht patchen und ist so auch "update sicher" ...

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Fred Bogus Trumper ()