Schwierigkeiten mit Print Script

  • Hallo Liebe Gemeinde,

    ich habe es mit Python bereits geschafft das aus einem Mail Account die Anhänge in einen definierten Ordner auf meinen Rasberry heruntergeladen werden. Mit einem Cronjob lass ich dies nun in bestimmten Intervallen ausführen. Nun möchte ich das dieser Ordner überwacht wird und die neuen Dateien gedruckt und im besten Fall auch gleich verschoben wird. Hierfür habe ich es mit Incrontab versucht. Zuerst, ob ich eine Ausgabe als Info auf dem Bildschirm hinbekomme, das klappte (Also neue Anhänge wurden automatisch heruntergeladen und es gab eine Ausgabe darüber auf dem Bildschirm.) Aber der Druck klappt nicht. CUPS habe ich installiert und 2 Drucker eingerichtet.

    Hier meine Incron:

    Code
    /home/pi/pdf IN_CREATE lpr -P HP-Buero

    Dies klappte leider nicht :( War wohl zu simpel gedacht;(

    Jetzt habe ich überlegt dies auch über python zu lösen, jedoch fehlt mir echt der Ansatz und ich habe das Internet jetzt vielfach durchsucht und finde keine Lösung, was sicherlich an meinem können liegt. Ich hoffe mir kann jemand helfen oder mir einen Tip geben womit sich dies besser Umsetzen lässt.

    Nochmal die konkrete Frage:

    Kann ich mit Incrontab eine Neue Datei direkt an einen Drucker senden, und wenn ja wo ist der Fehler in meinem Code?

    Oder muss ich ein Script ausführen lassen und wenn ja welche Sprache und kann mich hier jemand mit etwas Codezeilen unterstützen :)

    Zum probieren und hinfallen bin ich bereit aber manchmal hängt man halt fest. Ich hoffe Ihr könnt mir helfen. :)

  • Versuch es mal mit der Übergabe des Dateinamens an lpr:

    /home/pi/pdf IN_CREATE /usr/bin/lpr -P HP-Buero $#

    oder des gesamten Pfades:

    /home/pi/pdf IN_CREATE /usr/bin/lpr -P HP-Buero $@/$#

    (man 5 incrontab hilft evtl.)

    Wenn du nichts zu sagen hast, sag einfach nichts.

    Einmal editiert, zuletzt von llutz (26. April 2019 um 16:31) aus folgendem Grund: falsche man-page referenziert

  • Hallo llutz,

    das hat leider noch geklappt, aber vielen dank schonmal für deine Hilfe.

    Du schreibst "man incrontab" hilft evtl. Leider finde ich keine Hinweise dazu bei google.

    LG und vielen Dank schonmal

  • Ok, da hätte ich auch selber drauf kommen können, sorry für so doofe Fragen. Ich habe es mir angeschaut, komme aber leider trotzdem nicht weiter bei meinem vorhaben.

  • lolugo24 Folgendes funktioniert hier problemlos

    incrontab -l:

    /Pfad/watchdir IN_CREATE /usr/bin/lpr -P PDF $@/$#

    Oder alternativ

    Ein Wrapperscript erstellt und ausführbar gemacht, z.B. /home/username/bin/pdfprint.sh.

    Inhalt:

    Bash
    #!/bin/bash
    /usr/bin/lpr -P PDF $@

    Users incrontab, als User incrontab -e:

    /Pfad/watchdir IN_CREATE /home/username/bin/pdfprint.sh $@/$#

    Dabei darauf achten, dass zwischen Pfad und IN_CREATE nur genau 1 Leerzeichen steht, ebenso zwischen IN_CREATE und dem Befehl.

    Checke mal die Logs ( journalctl, /var/log/cups/ ) auf Hinweise, was bei dir falsch läuft.

    Wenn du nichts zu sagen hast, sag einfach nichts.

    2 Mal editiert, zuletzt von llutz (26. April 2019 um 16:31)

  • Es geht einfach nicht:(

    Ich bin irgendwie zu doof dafür.

    Das Shell Script habe ich wie folgt erstellt:

    Datei erstellen dann als pdfprint.sh benannt geöffnet und den Code eingetragen.

    Ist das korrekt?

    Gibt es sonst noch eine andere Möglichkeit?

  • So das klappte jetzt, leider gibt er mir bei lpr -P DRUCKERNAME /home/pi/test/test.pdf

    folgendes aus: unknown Printer

    Ja cups läuft, kann daraus auf dem Drucker auch eine Testseite drucken oder ein geöffnetes PDF file aus Adobe herraus drucken.

    ok ich setze alles nochmal von vorne auf und melde mich wenn der Fehler dann immer noch besteht. Vielen Dank schonmal für die hervorragende Hilfe.

  • Alles rasbian kommplett neu aufgesetzt danach lpr und cups installiert. Wenn ich jetzt über das Terminal den Befehl:

    lpr -P rechnungen /home/pi/Desktop/test.pdf

    Dann kommt lpr: rechnungen: unknown printer

    Woran kann das liegen? Danke für die Hilfe

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!