Hilfe! Wie suche ich einen crontab...(gelöst)

  • Mein UnRaid-Server spuckt täglich um 18.40 Uhr eine Fehlermeldung für einen Cron-Tab aus, seit ich vor ein paar Tagen wegen defektem USB-Stick ein Replacement-Stick aufsetzen musste:

    <Apr 21 18:40:01 UNR-Server crond[1740]: exit status 1 from user root cp ~/mnt/user/appdata/tvheadend/easyepg_xml/EPGfinal.xml ~/mnt/user/appdata/tvheadend/data/>

    Ich würde ja vermuten, dass der crontab im easyepg-Container liegt, aber eine Suche mit "crontab -l" brachte nur den nötigen crontab für den start des easyepg-Containers hervor.
    Selbst wenn ich dort auf der Kosnsole in den Ordner "easyepg" wechsle.

    Zweite Vermutung ist ja der tvheadend-Container - aber auch dort nada (außer den Tabs, um die xml dann zu laden)

    Auf der Konsole des UnRaid-Servers selbst ergibt "crontab -l" keinen einzigen Crontab - auch bei UserScripts ist nichts entsprechendes angelegt.

    Hat mir jemand Tipps, wie ich diesen crontab finden und löschen kann - gebraucht wird er nämlich nicht...

  • <Apr 21 18:40:01 UNR-Server crond[1740]: exit status 1 from user root cp ~/mnt/user/appdata/tvheadend/easyepg_xml/EPGfinal.xml ~/mnt/user/appdata/tvheadend/data/>

    Liest sich eher wie ein Fehler durch einen EPG-Grabber in TVH. Schau' mal, was für Zeiten für den Cron unter Konfiguration -> Kanal/EPG ->EPG-Grabber, dort die "Internal Grabber Settings" eingestellt ist.

    Bilder

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Also in der Konfiguration in TVHeadend finde ich nichts


    In den Logs der Container easyepg und tvheadend ist auch nicht zu finden - vielleicht kommt also die Fehlermeldung gar nicht von da??

    Habe versucht, mit Mausklick auf den Container easepg im Servermenü von UnRaid die Konsole zu starten und dann mit "docker ps" mal die geöffneten Container anzeigen zu lassen.
    Leider gibt es den Befehl so in bash nicht. Ich habe irgendwie in Erinnerung, dass es drei Container sein müssten und wollte da mal nach dem crontab suchen...

    @SkyBird1980 Wie starte ich den die Container-bash genau und kann da nach dem crontab suchen? mit normalem Mausklick auf den Container wird ja immer das allgemeine Terminal gestartet, oder?

  • 1. Im syslog siehst Du ja die PID vom crond: 1740. Damit kannst Du ja den crond suchen und gucken ob oder von welchem container er ist. Denke ich mal... habs aber nicht selbst probiert, leider keine equivalente config um das zu sehen.

    2. Bei mir sind die filesysteme der docker auch gemountet, kannst also crontabs finden z.b.:

    System crontab directory bei mir ist:

    /var/spool/cron/crontabs

    Container z.b.:

    /var/lib/docker/devicemapper/mnt/128d83727424da697e5f66a81ff17fd1fc09d8119410e53d957aef5657ad995a/rootfs/var/spool/cron/crontabs/

    Kannst gucken ob/wo docker filesysteme gemountet sind mit df, bei mir halt:

    /dev/dm-1 10190136 6307769018688 7% /var/lib/docker/devicemapper/mnt/128d83727424da697e5f66a81ff17fd1fc09d8119410e53d957aef5657ad995a

  • Beim easyepg.cron kannst Du auch mal hier schauen, Konsole ist ja bei unRaid (oben rechts) vorhanden: HOWTO: Easyepg im Docker unter LibreElec installieren

    Ansonsten bleibt nur noch die Möglichkeit, dass Du in irgendeiner Crontab (User Cron, systemweites Cron oder eine Docker Cron) den cp-Befehl (der den Fehler wirft) direkt eingetragen hast.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Puh, immer noch nicht gefunden...

    In der Konsole (UnRaid Main-Menü oben rechts klicken) habe ich mit "ps -p 1740" nach dem Prozess gesucht und "crond" ausgespuckt bekommen. Aber wie lasse ich mir auch den Pfad dahin bzw. zu den angelegten crontabs anzeigen?

    Im easyepg Docker-Container habe ich auch nochmal gesucht und nur den notwendigen crontab zum Starten des epg.sh-Scripts gefunden

    Die Befehle, die in HOWTO: Easyepg im Docker unter LibreElec installieren genannt werden, funktionieren in der UnRaid-Konsole unter bash nicht...

    Ich vernute mal, es steckt irgendwo im systemweiten Cron, nur komme ich da irgendwie nicht hin und kenne mich halt mit der Konsole/bash halt echt nicht aus...

  • Habe es nun über die systemweite Konsole gefunden:

    root@UNR-Server:~# cat /etc/cron.d/root
    40 18 * * * cp ~/mnt/user/appdata/tvheadend/easyepg_xml/EPGfinal.xml ~/mnt/user/appdata/tvheadend/data/
    40 18 * * * cp ~/mnt/user/appdata/tvheadend/easyepg_xml/EPGfinal.xml ~/mnt/user/video/EPG/xml/
    40 18 * * * cp ~/mnt/user/appdata/tvheadend/easyepg_xml/EPGfinal.xml ~/mnt/user/video/movie/

    Ich komme auch in den Pfad /etc/cron.d/ - aber dann komme ich nicht weiter. "crontab -l" bzw. crontab -e" funktionieren nicht; "ls -l" um nach Unterverzeichnis zu suchen leider auch nicht :(

  • Hilfe zum Thema Crontabs, da mir das auch immer wieder vor die Füße fällt:

    - schauen welche User es auf den Systemen gibt: cat /etc/passwd (relevante User, abgesehen von "root", sollten eine UID >1000 haben)
    - Pfade, die man checken sollte: /etc/cron.d/, /etc/cron.daily, /etc/cron.hourly, /etc/cron.monthly, /etc/cron.weekly (bei unraid gibt es neben cron.d nur cron.daily)
    - Dateien, die man checken sollte: cat /etc/crontab
    - Befehle, die man ausführen sollte: crontab -l
    - ggf. auch im Kontext des entsprechenden Benutzers: su - <username> (um den Benutzer zu wechseln) und dann erst crontab -l (alternativ: crontab -l -u <username>)


    Ich komme auch in den Pfad /etc/cron.d/ - aber dann komme ich nicht weiter. "crontab -l" bzw. crontab -e" funktionieren nicht; "ls -l" um nach Unterverzeichnis zu suchen leider auch nicht

    Dann bist du nicht root oder deine Berechitgungen stimmen nicht:


    unter cron.d gibt es auch keine Unterverzeichnisse. Da liegen nur noch Dateien drin. Wenn du die entsprechend bearbeiten möchstest, dann versuch doch mal: nano /etc/cron.d/root

    Unter Unraid kann ich als root mit crontab -e das bearbeiten, was oben mit crontab -l angezeigt wurde

    wenn ich nano /etc/cron.d/root mache, dann kann ich die Konfiguration in dem Bereich ändern.

    Geht das bei dir nicht, dann würde ich mal mit {tt]cat /etc/passwd | grep -i root[/tt] und cat /etc/group | grep -i root checken, was da für den user mit drin steht und in welchen Gruppen du bist. Vorher vielleicht noch id prüfen, ob deine ID wirklich "0" ist.

    Wertschätzung kostet nichts, aber sie ist von unschätzbarem Wert.

    2 Mal editiert, zuletzt von DaVu (23. April 2021 um 08:12)

  • Die /etc/crond.d/<user> Dateien kannte ich auch nicht. Auf denen kann man wohl nicht direkt "crontab -e" machen, sondern die muss man halt direkt mit editor editieren, Wenn ich mich recht erinnere, macht crontab -e halt einen syntaxcheck, was angenehm ist. Muss man halt aufpassen, wenn man da direkt mit dem Editor draufegehen muss.

    Aber die Frage ist doch, woher diese /etc/cron.d/root datei herkommt. Wenn no.spam sich nicht erinnern kann, die selbdst erzeugt zu haben, dann muss das ja irgendwas bei easyepg sein...

  • Super - vielen Dank an alle für die Geduld und Mithilfe.

    Besonderer Dank an @DaVu , der ja sogar mehr oder weniger ein Tutorial zu cron geposted hat. Ich hoffe, mein Thread-Titel ist aussagekräftig genug, dass auch andere Hilfesuchende auf diesen tollen Beitrag stoßen.

    Jedenfalls konnte ich mit

    Code
    nano /etc/cron.d/root

    den crontab bearbeiten und mein Problem lösen.

    Peinlicherweise muss ich gestehen, dass ich vor Jahren beim Experimentieren mit dem easyepg-Docker den crontab sicher selbst angelegt habe und ihn dann wohl vergessen habe. Und der Fehler wurde bisher nicht von den UnRaid-Notifications erfasst, da ich die erst vor kurzem richtig eingerichtet habe.

    Prima, das WE kann kommen :)

  • wenn Du das selbst eingerichtet hast, dann doch lieber loeschen und per crontab -e anlegen (was es dann unter /var/spool/... anlegt). Einfach so das du beim naechsten Alzheimer nicht mehr soviel suchen muss.

    Ich fange auch mehr und mehr an zu gucken, das alles was ich am system rumbatele an moeglichst wenigen stellen passiert. Kloppe z.b. alles an startup nach /etc/rc.local rein, um streuspeicherung zu reduzieren.

  • Ich fange auch mehr und mehr an zu gucken, das alles was ich am system rumbatele an moeglichst wenigen stellen passiert

    Kurze Beschreibung und kleiner Tip:

    Ich habe bei mir zu Hause

    - einen LDAP Server für die Authentifizierung verschiedener Dienste mit gleichem User und PW am laufen
    - ein Icinga (ans LDAP angebunden) zum Monitoring meiner Systeme
    - ein Grafana (ans LDAP angebunden) um perimetrie-Daten zu bekommen und das Icinga Dash ein wenig aufzuhübschen
    - ein Mediawiki (ans LDAP angebunden)...dazu weiter unten mehr
    - alle diese VMs laufen in einem Proxmox-Cluster (2 Nodes mit zentralem Speicher auf meinem Unraid)
    - einen eigenen DNS
    - einen Kubernetes Cluster (1 Master und 2 Nodes)
    - aktuell experimentiere ich mit Terraform und Cloud-Infrastruktur mit AWS und Hetzner rum

    Das sind einfach viel zu viele Dinge um sich das alles zu merken. Somit war das Wiki, welches ich zu Hause betreibe, ein nettes Experiment und dazu noch ein notwendiges Übel ;). So ein Wiki zur Hand zu haben ist mehr als Hilfreich um mal schnell eben ein wenig Doku runter zu tippseln

    Das muss noch nicht mal schön aussehen:

    Wertschätzung kostet nichts, aber sie ist von unschätzbarem Wert.

Jetzt mitmachen!

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