Archiv verlassen und diese Seite im Standarddesign anzeigen : Seitenzahlenerfassung unter samba
Ich habe gerade ein Projekt laufen, bei dem die gesamte Druckeradministration auf Linux (Samba) umgestellt werden soll. In dem Netzwerk gibt es etwa 2000 User, und es soll für jeden user die gedruckten Seitenzahlen mitprotokolliert werden.
Meine Frage lautet nun, gibt es bei samba einen implementierten Dienst, der automatisch die Seitenzahlen erfasst?
Ich bin für jeden Hinweis dankbar
Da Samba herzlich wenig davon weiß, was in einem Druckjob drinne ist, ist Samba der falsche Ansatz.
CUPS verarbeitet die Druckjobs, hier solltest du anfangen zu suchen...
was ist, wenn die Drucker vom Server über LPRng angesteuert werden, alles wird dann 1:1 durchgeleitet. Die Seitenzählung kann dann nicht klappen.
Gruß Blade :confused:
Das ist eine entscheidende Frage. Werden bei Samba die Druckdaten 1:1 durchgeleitet, oder gibt es die Möglichkeit einzugreifen und die Seitenzahlen herauszufiltern, möglicherweise mit Hilfe der Log-Dateien?
Gibt es eine Möglichkeit die Postscript-Daten auszulesen?
Danke:confused:
CUPS => page.log
kyocera 1 [05/Dec/2003:14:17:33 +0100] 1 1 - localhost
kyocera root 2 [15/Dec/2003:14:13:06 +0100] 1 1 - d600
kyocera root 3 [15/Dec/2003:14:19:12 +0100] 1 1 - d600
kyocera root 3 [15/Dec/2003:14:19:12 +0100] 1 1 - d600
kyocera root 3 [15/Dec/2003:14:19:20 +0100] 2 1 - d600
kyocera root 4 [15/Dec/2003:14:22:03 +0100] 1 1 - d600
kyocera root 4 [15/Dec/2003:14:22:03 +0100] 1 1 - d600
kyocera Administrator 5 [15/Dec/2003:15:57:43 +0100] 1 1 - d600
kyocera Administrator 6 [15/Dec/2003:15:58:50 +0100] 1 1 - d600
kyocera Administrator 7 [18/Dec/2003:00:27:42 +0100] 1 1 bill it on dagmar d600
kyocera 8 [12/Mar/2004:15:44:21 +0100] 1 1 - localhost
kyocera elvis 9 [12/Mar/2004:15:45:36 +0100] 1 1 bill it on dagmar 192.168.123.1 ### vom Windows Rechner 192.168.123.1 Benutzername "elvis" mit BILL Info
kyocera elvis 10 [12/Mar/2004:15:53:27 +0100] 1 1 - 192.168.123.1
Manx
... und über das log läßt Du dann das drüber:
http://www.nongnu.org/printanalyze/
Grüße
Manx
Bei mir loggt CUPS leider nur die Druckaufträge mit, die lokal ausgeführt werden, Aufträge die über Samba ankommen, werden nicht mitgeloggt. Welche Einstellung muss dafür getroffen werden?
Samba druckt auch über CUPS?
printing = cups
printcap name = cups
Wird anonym gedruckt?
Grüße
Manx
ein Auschnitt aus der smb.conf:
[global]
workgroup = 5BHELI
encrypt passwords = Yes
map to guest = Bad User
time server = no
unix extensions = yes
socket options = SO_KEEPALIVE IPTOS_LOWDELAY TCP_NODELAY
printcap name = CUPS
os level = 2
printing = CUPS
veto files = /*.eml/*.nws/riched20.dll/*.{*}/
wins support = no
eine Druckersektion:
[W021300]
comment = HPLaser Jet 1300 im W02
path = /var/tmp
valid users = reinhold
read only = No
create mask = 0600
printable = Yes
printer name = W021300
Hier wurde testweise ein user "reinhold" angelegt mit dem gedruckt wird. Es werden in der page_log jedoch keine Eintragungen vorgenommen.
Welche Einstellungen müssen in der cupsd.conf vorgenommen werden, damit die Protokollierung funktioniert?
Servus!
Wenn cups "RAW" druckt, wird der Druckauftrag einfach vom Client übernommen, der die Seite(n) schon druckfertig aufgearbeitet hat.
Die Zählerei geht nur, wenn Cups den Druckauftrag abarbeitet - ich glaube mit Postscript.
Grüße, Stefan
Wie kann ich CUPS dazu bringen, den Druckauftrag abzuarbeiten, bzw. was meinst du mit "ich glaube mit postscript"?
... meine Clients verwenden den CUPS Postcript Drucker-Treiber, der automatisch über den "Add Printer Wizard" am Client installiert wird.
Grüße
Manx
Ich glaube das Problem mit der log-Datei liegt woanders. Wenn ich mit
http://localhost:631/jobs die abgearbeiteten Jobs betrachte, stehen alle Druckaufträge mit den entsprechenden Usernamen drinnen. Das heißt das CUPS die Aufräge erfasst, aber die Protokollierung funktioniert anscheinend nicht.
Kann mir da jemand weiterhelfen?
thx
Hi!
Etwas mehr Infos bitte ;)
Welcher Druckertreiber auf den Clients?
Du betrachtest das richtige page_log?
Logrotate macht Dir auch keinen Strich durch die Rechnung?
Grüße
Manx
So hier sind die gewünschten Infos:
Auf den Clients ist größtenteils Win2k installiert, und es werden dabei die entsprechenden Windowstreiber verwendet.
(Linux-Clients werden später integriert)
Weiters betrachte ich die Datei /var/log/cups/page_log (Diese Datei ist auch in dem perl-script printanalyzer angegeben.)
Was logrotate betrifft, muss ich zugeben, dass ich nicht weiß was dies bedeutet.
danke für deine hilfe
Hi!
Verwende mal den CUPS Windows Druckertreiber.
Bei mir stellt Samba 3 diesen Treiber den Clients automatisch zur Verfügung (point and print).
Sprich:
Drucker unter CUPS mit dem passenden PPD-File einrichten. Mit cupsaddsmb den Druckertreiber ins richtige Verzeichnis kopieren (Samba Doku lesen, da gab's mal Probleme, dass nicht alle Dateien kopiert werden konnten).
Vom Client aus den Drucker hinzufügen (es sollte keine Treiberinstallation nötig sein).
Auf meiner Windows XP Drucker-Testseite steht:
...
Anschlussname: Samba Printer Port
...
Treibername: cupsdrvr.dll
Datendatei: meinPostscriptDrucker.ppd
Konfig.-Datei: cupsui.dll
Hilfedatei: cups.hlp
Treiberversion: 4.00
Umgebung: Windows NT x86
Standarddatentyp: RAW
Grüße
Manx
PS: Du kannst Dir auch zusätzlich pykota anschauen. Habs heute getestet, bin begeistert. ;)
http://www.librelogiciel.com/software/PyKota/action_Presentation
Es ist so:
Die Drucker hängen nicht direkt am Samba-Server sondern sind überall im Netzwerk verteilt, und sind erstens keine Netzwerkdrucker und zweitens keine Postscript-Drucker. Größtenteils stehen HP Laser Jet 1300 zur Verfügung, die an Windows 2000 Clients hängen. Nun soll man nicht mehr direkt über diese Clients drucken können, sondern nur mehr über den Samba-Server. Jeder Benutzer soll am Server angelegt werden und über ein Guthaben verfügen, mit dem er drucken kann.
Bei jeder gedruckten Seite soll ein gewisser Betrag von diesem Guthaben abgezogen werden.
Die Drucker sind jetzt am Server installiert (mit CUPS) und werden mit Samba freigeben.
was ist das ppd-file zum Einrichten, bzw. wie funktioniert es mit cupsaddsmb die treiber freizugeben, das funktioniert bei mir nicht.
danke:confused:
... hm, das ist etwas kompliziert und somit werde ich noch neugieriger ;)
Wieviele Drucker, wo überall verteilt, Schule?
Weiters brauchst Du für Dein Vorhaben sowieso eine Druck-Quota-Software.
z.B pykota, printbill, printquota oder was kommerzielles :(
Grüße
Manx
ja genau, das ganze ist eine diplomarbeit in einer htl, und das ganze sollte in 8 Wochen fertig sein,...
ja eine solche Software wäre eventuell sinnvoll, woher bekomme ich eine solche gratis her, praktisch wäre es wenn das ganze in C geschrieben wäre, damit ich es leicht editieren kann.
Hi!
o.k (welche HTL ;) ? )
Versuche mal folgendes:
Samba 3 verwenden!
Samba Howto Collection: Kapitel 19: "Printing from CUPS to Windows Attached Printers"
Du solltest die Drucker (HP Laserjet 1300) am Samba Server unter CUPS einrichten: Backend smb:// => Wie in der Samba Doku.
Für das Accounting müssen die Clients Postscript Drucken!!
Der Cups Server bekommt das passende PPD File von www.linuxprinting.org.
Denn CUPS verwendet auch für nicht Postscript Drucker PPD-Dateien.
Am Client den CUPS Windows Postscript-Treiber verwenden (am besten über point'n print zur Verfügung stellen).
Warum das ganze:
Die Seitenzahlen können nur aus den Postscriptdateien ausgelesen werden (außer man hätte Drucker, die z.B SNMP sprechen, nur wer hat das schon)
Die Clients schicken den Druckjob als Postscriptfile an CUPS, CUPS arbeitet den job ab und schickt diesen an den Drucker weiter (smb:// ).
Printing Quotas für CUPS:
pykota: http://www.librelogiciel.com/software/PyKota/action_Presentation
ziemlich genial, braucht aber entweder PostgreSQL oder LDAP
Grüße
Manx
[edit] die HP Laserjets 1300 könne ja eh Postscript. Schau mal auf den Treiber CDs nach PPD-Files.
Druckersprachen: HP PCL5e, PCL6, PostScript Level 2 Emulation
http://h41100.www4.hp.com/at/ger/commercial/laserjet/mono_entry.html
Ja ich habe natürlich alle Drucker am Server mit den ppd-Dateien installiert. (Ist meiner Meinung auch gar nicht anders möglich)
Nur wie kann ich jetzt automatisch den Postscript Drucker für Windows zur Verfügung stellen, bei mir funktioniert cupsaddsmb nicht (ev. falsche engabe)
BSP:
Ich habe einen CanonBJC3000 an einem Windows 2000 PC Laufen, dieser ist unter Windows freigegeben.
Dieser Drucker ist auf dem CUPS-Server mit der entsprechenden ppd- Datei installiert, und wird über Samba freigegeben.
Wie muss nun der komplette cupsaddsmb Befehl lauten, um den Treiber für andere windows-clients freizugeben, habe bereits howto's und man cupsaddsmb durchgelesen, aber das Problem noch nicht gelöst.
Danke
Hi!
CUPS Windows Druckertreiber runtergeladen?
http://www.cups.org/windows.php
wget -c ftp://ftp.easysw.com/pub/cups/windows/cups-samba-5.0rc3.tar.gz
mkdir cups-samba
mv cups-samba-5.0rc3.tar.gz cups-samba
cd cups-samba
tar xzvf cups-samba-5.0rc3.tar.gz
dann:
http://at.samba.org/samba/docs/man/CUPS-printing.html#id2944204
Grüße
Manx
Ich habe mich nun in das Kapitel 19 der samba doku eingelesen, und versucht laut den Anweisungen dort mit cupsaddsmb die Treiber zur Verfügung zu stellen.
Leider gibt es dabei Probleme.
Unter anderem fehlen die Dateien ADOBEPS5.DLL, ADOBEPSU.DLL, ADOBEPSU.HLP. Diese Dateien sollten im Ordner /usr/share/cups/drivers vorhanden sein.
Sollten diese Dateien nicht durch die installation des Shell-scripts erstellt werden?
Ich brauche dringend Hilfe, schön langsam bin ich am verzweifeln
Das vorher beschriebene Problem habe ich nun gelöst, ich kann nun im windows direkt auf die Drucker zugreifen ohne einen Treiber installieren zu müssen.
Ich kann auf die Drucker zugreifen, die Aufträge in den Warteschlangen sehen, wenn ich aber nun etwas auf den Drucker schicken will, kommt immer eine Windows -Fehlermeldung.
Windows kann wegen eines Problems mit der Druckereinrichtung nicht drucken.
Testen Sie folgende Optionen:
*Drucken Sie eine Testseite aus Windows (funktioniert nicht)
*Überprüfen Sie ob der Drucker eingeschaltet ist (natürlich ist er das)
*Installieren Sie den Drucker neu (kein Effekt)
Wo kann das Problem liegen, lokal vom Server ist drucken ja möglich.
thx
Hi!
Mögliche Fehlerquellen:
Samba => Rechte-Problem
smb.conf posten
Cups => Rechte-Problem
Beide Logs durchschauen: (eventuell Loglevel erhöhen)
/var/log/cups
/var/log/samba
Grüße
Manx
Leider tauchen immer wieder neue Probleme auf.
Ich hätte eine grundsätzliche Frage an dich:
Funktioniert es bei dir die Druckertreiber automatisch zur Verfügung zu stellen, als berechtigter Benutzer zu drucken, und danach steht ein Eintrag des entsprechenden jobs in der page_log?
Wenn das bei dir funktioniert kann ich ja sagen, das es grundsätzlich funktionieren würde.
Ich habe des ganze auf mehreren System probiert (SuSe 8.2 +Samba 2.2.8a, SuSe 9.0+ Samba 2.2.8a, SuSe 9.0 + Samba 3.0), überall gibt es Probleme.
Einmal kann man nicht berechigt drucken, auf dem anderen System werden keine Einträge in die page_log geschrieben, ...
Eine weitere Frage ist nun, welches Programm wird gestartet, wenn ein Drukauftrag einlangt. Ich bräuchte dafür aber nicht die kompilierte Version, sondern den Quelltext, um bei jedem Druckauftrag mein eigenes Programm aufrufen zu können, das entsprechend den Seitenzahlen ein gewisses Betrag vom Konto des Benutzers abzieht.
Leider tauchen immer wieder neue Probleme auf.
Ich hätte eine grundsätzliche Frage an dich:
Funktioniert es bei dir die Druckertreiber automatisch zur Verfügung zu stellen, als berechtigter Benutzer zu drucken, und danach steht ein Eintrag des entsprechenden jobs in der page_log?
Anstelle [WCM]Manx antworte ich mal. Das geht. Derzeit verbinde ich die Drucker über das logon-script beim Anmelden, allerdings sind alle user power-user (Hauptbenutzer) auf den w2k-PC. Das geht auch unter NT4 und XP. Die gedruckten Seiten werden selbstredend im logfile eingetragen.
Es dauert oftmals etwas, bis cupsaddsmb läuft, ich rate dringend dazu den entsprechenden Abschnitt der samba-howto collection einige male zu lesen. Sehr gut beschrieben auch in "samba-3 by Example" von John Terpstra.
Bei mir läuft das mit samba 3 (3.0.2a) und SuSE9.0. Es geht aber auch mit SuSE8.2 und samba2.2.x.
Die generelle Vorgehensweise hat [WCM]Manx ja schon deutlich gemacht, dem ist eigentlich nichts hinzuzufügen.
Viel Erfolg,
mamue
Hi!
Wie mamue schon sagte, das sollte gehen.
Bei Dir ist ja der Unterschied, dass der/die Drucker nicht am Samba/CUPS Server direkt angeschlossen sind, sondern irgendwo an einem Windows-Client hängen (am CUPS über smb://).
Da kann ich Dir nicht 100%ige Sicherheit geben, da selber noch nicht getestet.
Somit gibt es eine Fehlerquelle mehr (den Windows-Client mit Drucker)
Mach noch mal eine kurze Zusammenfassung:
Ist es eine Domain oder Arbeitsgruppe?
Wer hält die Benutzerdaten? (der Samba, ein Windows PDC?)
Verwende unbedingt den CUPS-Windows Druckertreiber, keinen Adobe-PS ( grad wegen dem page-log)!
http://at.samba.org/samba/docs/man/CUPS-printing.html#id2945588
Samba 3.02a und ein aktuelles CUPS wären optimal!
Schau dir pykota an, das macht genau was Du möchtest!
http://www.librelogiciel.com/software/PyKota/action_Presentation
Grüße
Manx
Es gibt eine Domain, die Benutzerdaten hält der Samba Server bereit.
Hast du das pykota schon getestet? Es interresiert mich schon, aber ich habe leider nicht mehr die Zeit es wirklich zu testen. Hast die entsprechende rpm-Datei? Das würde die Sache vereinfachen.
Zurück zur letzten Frage:
Weiß jemand welches Programm gestartet wird, wenn ein Druckauftrag einlangt, bzw. welche Datei den Eintrag in die page_log vornimmt, bzw. wo ich den enstprechenden Quelltext bekomme?
Zurück zur letzten Frage:
Weiß jemand welches Programm gestartet wird, wenn ein Druckauftrag einlangt, bzw. welche Datei den Eintrag in die page_log vornimmt, bzw. wo ich den enstprechenden Quelltext bekomme?
Samba nimmt die Druckaufträge entgegen und gibt sie an cups (cupsd) weiter. Der wird in Abhängigkeit der cupsd.conf (raw/gefiltert) Ghostscript starten (gs). Die Einträge in der page_log nimmt selbstredend cupsd vor.
Die Quelltexte gibt es bei samba.org und cups.org. Wo es ghostscript gibt, ist mir leider entfallen.
mamue
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.