Beiträge von neptun

    wie flo schon angedeutet hat, über ein Cronjob sind keine Environment- Variablen verfügbar,
    also alles schön direkt Pathe angeben.


    Und auch einfach mysql aufrufen sollte nicht gehen, obwohl mein suse 13.1 das problemlos machte, aber jede Konvertierung
    auf einen anderen Server kann es Probleme machen.


    Den direkte Path von mysql bekommt man mit:
    which mysql


    Bei Suse ist es : /usr/bin/mysql


    Also Datenbank Updaten über ein Shell Script:

    Code
    ins="$(echo "UPDATE  jobs SET status=2 WHERE id=12 " | /usr/bin/mysql  -u root -pgeheim db )"


    Ich habe einen TV Recorder programmiert, über eine Web-Oberfläche werden die Jobs eingegeben, die landet in
    einer Datenbank.
    Ein Cronjob schaut in Min. Takt, ob in die Datenbank Aufträge liegen, und nimmt die TV-Programme über ein Linux-Server auf.
    Falls es jemand interessiert, stelle ich die 2 Schripte (php + Shell) hier zu Verfügung.

    Der Linux-User ist sabine, darunter musst das Script laufen.
    Ein Mysql User sabine habe ich auch eingerichtet.
    Der user hat die gleichen Rechte wir Root
    In der Root und Sabine Konsole läuft es ja.


    In der /etc/crontab:
    * * * * * sabine/home/sabine/db.sh


    Ich hatte auch schon versucht, eine User Cron anzulegen,
    aber es passiert genau das gleiche



    Wenn alles nicht fruchtet, würde ich im Shellscript ein PHP-Script anwerfen.
    das wäre natürlich wieder umständlich
    frage man Google nach cronjobs mysql
    kommen gleich 100 Typs
    wie man ein Mydump einrichtet, was wusste ich als Mädel schon mit 8!

    Das Script holt sich die Datensatzmenge einer Tabelle

    Code
    cp /home/sabine/db.sh /home/sabine/ret/laueft.sh		# Cron läuft
    sql1="$(echo "SELECT count(*)  AS menge FROM jobs WHERE status= 1 " | mysql  -u sabine -pgeheim db )"
    menge=${sql1//menge}; 
    
    
    if [ $menge -gt 0 ]
    then 
    	cp /home/sabine/db.sh /home/sabine/ret/ja.sh		# ok Status
     fi


    Melde ich mir über mein User-Accunt an, und starte das Script in der Konsole über
    ./db.sh
    läuft es wie es laufen sollte.


    Nun schmeiße ich das in meine /etc/crontab, natürlich über Root
    * * * * * sabine /home/sabine/db.sh


    über den 1. cp Befehl kommt das Script noch rüber, also der Cron läuft,
    aber der Mysql-Select wird nicht ausgeführt, menge wird nicht Gesetz.
    Auch in der Root-Konsole läuft das Script normal


    Nur Im Crone Crash Mysql
    Hat jemand eine Idee?


    Suse 13.1

    Also die libdvbpsi Fehler basieren auf vlc und Grafiktreiber laut Info.


    In meinen Befehl fehlte eigentlich nur das vlc://quit
    Also


    Code
    cvlc  rtp://@239.35.10.22:10000  --sout /home/sabine/video/test.ts  --run-time=60 vlc://quit

    60 Sec. aufnehmen


    Ich habe es jetzt auch schon auf unseren richten Fileserver mit suse13.1 (ohne KDE) getestet, es gibt zwar einige Fehler
    mehr, aber nach der run-time Zeit wird der Befehl beendet.
    Ich vermute, der vlc will immer noch was zeigen, und stößt auf Probleme.
    Vielleicht gibt es ja ein vlc-Befehl wie alle "Ausgaben unterdrücken", bis auf die Aufnahme
    Aber hier:
    http://www.videolan.org/doc/vlc-user-guide/de/ch04.html
    habe ich nicht mal das quit gefunden.


    Vielen Dank für eure Tapfere Hilfe, ohne die ich bestimmt schon aufgeben hätte


    Ideal wäre natürlich, es gebe ein Programm, was NUR aufzeichnen kann, ohne Play funktion



    wenn ich die Zeile in ein Script werfe und über ein crontab starte.
    lässt sich das auch beenden, oder musst man die run-time Abwarten?


    Klar könnte man den Prozess killen, was wohl schnell zum speicherüberlauf führen wird?

    Code
    cvlc rtp://@239.35.10.22:10000 --sout /home/sabine/video/ntv.ts --run-time=5
    
    
    libdvbpsi error (PSI decoder): TS discontinuity (received 1, expected 0) for PID 18
    libdvbpsi error (PSI decoder): TS discontinuity (received 5, expected 0) for PID 0
    libdvbpsi error (PSI decoder): TS discontinuity (received 5, expected 0) for PID 264


    Die Rest Fehler sind ja nicht tragisch, es wird ja aufgenommen, und auch in HD sieht es Super aus.
    Aber warum hängt der Befehl, man kommt nur mit Strg + c raus


    Konsolenasugaben in Code-Tags!

    eigentlich hängt es nur noch an einer Kleinigkeit:
    Das Aufnahme Script läuft ja später direkt am Server.
    also die X-Server Fehler kann man vergessen.


    Direkt am Sever:
    cvlc rtp://@239.35.10.22:10000 --sout /home/marcel/video/ntv.ts --run-time=5


    [0x1dd2288] main interface error: no suitable interface module
    [0x1c740b8] main libvlc error: interface "dbus,none" initialization failed
    [0x1dd2288] dummy interface: using the dummy interface module...
    libdvbpsi error (PSI decoder): TS discontinuity (received 3, expected 0) for PID 0
    libdvbpsi error (PSI decoder): TS discontinuity (received 3, expected 0) for PID 264


    es wird hier richtig 5 Sec. aufgenommen, aber das Script hängt dann,
    es lässt sich nur über strg & c abbrechen.


    Google ich nach ein libdvbpsi error
    bekomme ich oft Probleme von User, die über KDE Fehler haben.
    Ich will ja nur möglichst ohne kde über ein Script TV Programme auf Festplatte kopieren.

    zypper se -si vlc
    aktueller stand:
    cvlc rtp://@ 239.35.10.1:10000 --sout /home/sabine/ard.ts


    Code
    sabine@linux-piqn:~> cvlc  rtp://@ 239.35.10.1:10000 --sout /home/sabine/ard.ts
    VLC media player 2.1.5 Rincewind (revision 2.1.4-49-gdab6cb5)
    [0x224a148] main interface error: no suitable interface module
    [0x21740b8] main libvlc error: interface "globalhotkeys,none" initialization failed
    [0x224a148] dbus interface error: Failed to connect to the D-Bus session daemon: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
    [0x224a148] main interface error: no suitable interface module
    [0x21740b8] main libvlc error: interface "dbus,none" initialization failed
    [0x22a0328] dummy interface: using the dummy interface module...


    ich verstehe nicht, über kde läuft es, aber in der Konsole nicht.
    Ach das ist ja komisch, eben mal getestet:
    Direkt auf den Suse Rechner / Konsole unter mein Account ist alles OK, er nimmt auf.
    Melde ich mich über mein Notebook Win7 mit SSH auf das Gerät natürlich auch mit sabine an, bekomme ich die Fehlermeldungen:
    Also direkt auf den Rechner Ok: Über Win7 - SSH Fehler...
    Irgend eine Rechte vergabe falsch?


    PS:
    cvlc rtp://@ 239.35.10.1:10000 --sout /home/sabine/ard.ts
    hier ist Leerzeichen zu viel, ändert aber Extern über Win7 auf Suse nichts




    Code
    S | Name         | Type    | Version     | Arch   | Repository
    --+--------------+---------+-------------+--------+-------------------
    i | libvlc5      | package | 2.1.5-232.2 | x86_64 | Packman Repository
    i | libvlccore7  | package | 2.1.5-232.2 | x86_64 | Packman Repository
    i | vlc          | package | 2.1.5-232.2 | x86_64 | Packman Repository
    i | vlc-codecs   | package | 2.1.5-232.2 | x86_64 | Packman Repository
    i | vlc-noX      | package | 2.1.5-232.2 | x86_64 | Packman Repository
    i | vlc-noX-lang | package | 2.1.5-232.2 | noarch | Packman Repository
    i | vlc-qt       | package | 2.1.5-232.2 | x86_64 | Packman Repository


    Vielen Dank für Deine Hilfe,


    Zitat

    Das Packman-Repo bitte in der Priorität auf 20 stellen, libdvdcss kann raus da nach der Installation von libdvdcss2 nichts mehr neues kommt.
    openSUSE-13.2-0 kann raus, ist nur zur Installation und macht sonst Unsinn.


    wie setzte ich das Packman-Repo auf 20?


    wie haue ich dann libdvdcss raus?
    wenn ich unter yast: Software Manament:
    danach suche, finde ich nur


    libdvdcss-debugsource
    libdvdcss-devel
    libdvdcss2 I installiert
    libdvdcss2-debuginfo




    I libdvdcss2 (instaalliert)

    zypper se -si vlc


    Code
    S | Name         | Type    | Version      | Arch   | Repository        
    --+--------------+---------+--------------+--------+-------------------
    i | libvlc5      | package | 2.1.5-2.1.10 | x86_64 | openSUSE-13.2-Oss 
    i | libvlccore7  | package | 2.1.5-2.1.10 | x86_64 | openSUSE-13.2-Oss 
    i | vlc          | package | 2.1.5-2.1.10 | x86_64 | openSUSE-13.2-Oss 
    i | vlc-codecs   | package | 2.1.5-232.2  | x86_64 | Packman Repository
    i | vlc-noX      | package | 2.1.5-2.1.10 | x86_64 | openSUSE-13.2-Oss 
    i | vlc-noX-lang | package | 2.1.5-2.1.10 | noarch | openSUSE-13.2-Oss 
    i | vlc-qt       | package | 2.1.5-2.1.10 | x86_64 | openSUSE-13.2-Oss


    zypper lr -uP


    Code
    cvlc  rtp://@ 239.35.10.1:10000 --sout /home/sabine/test.ts


    Fehler:


    Code
    VLC media player 2.1.5 Rincewind (revision 2.1.4-49-gdab6cb5)
    [0x86aec8] main interface error: no suitable interface module
    [0x73c0b8] main libvlc error: interface "globalhotkeys,none" initialization failed
    [0x86aec8] dbus interface error: Failed to connect to the D-Bus session daemon: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
    [0x86aec8] main interface error: no suitable interface module
    [0x73c0b8] main libvlc error: interface "dbus,none" initialization failed
    [0x86aec8] dummy interface: using the dummy interface module...


    schreibe ich nur vlc bekomme ich:
    "VLC wird mit dem Standard-Interface ausgeführt. Benutzen Sie 'cvlc', um VLC ohne Interface zu verwenden."