"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

REQ: Massenanlage von Druckern in CUPS

HaBa 10.06.2014 - 09:41 2093 11
Posts

HaBa

Legend
Dr. Funkenstein
Avatar
Registered: Mar 2001
Location: St. Speidl / Gle..
Posts: 19725
Gibt es ein tool das bei der Massenanlage von Druckports unterstützt? Datengrundlage z.B. als csv-Datei.

Größenordnung ist etwa "300+"

Viel Dank schonmal im Voraus!

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12067
Imo einfachste Moeglichkeit: Shellscript zum Parsen des CSV, das dann lpadmin entsprechend parametrisiert in einer Schleife aufruft. Wenn du drei oder vier Zeilen des CSV hier reinpastest, kann ich dir das vermutlich im Nu schreiben.

HaBa

Legend
Dr. Funkenstein
Avatar
Registered: Mar 2001
Location: St. Speidl / Gle..
Posts: 19725
Perfekt, thx, kommt "sofort"

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12067
Nanu, doch nix? :)

HaBa

Legend
Dr. Funkenstein
Avatar
Registered: Mar 2001
Location: St. Speidl / Gle..
Posts: 19725
Sry, hat ein bißchen gedauert, musste im Umfeld noch einiges abklären.

Grob gesagt sollen es RAW-queues werden, falls "" gefragt sind im CSV: kein Problem

click here

Thx schonmal im Voraus!

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12067
Hmm, das Attachment will bei mir (mit dem "neuen" Att-Viewer) nicht laden; ich krieg nur ein transparent-schwarzes Overlay ueber das ganze Browserfenster leider :/ Kannst du es vielleicht nochmal anders anhaengen?

HaBa

Legend
Dr. Funkenstein
Avatar
Registered: Mar 2001
Location: St. Speidl / Gle..
Posts: 19725
Fo shizzle ...

Code:
queue;host;make;model
druck_port1;lpd://192.168.0.1/local;Raw;Raw Queue (en)
druck_port2;lpd://192.168.0.2/local;Raw;Raw Queue (en)
druck_port3;lpd://host.domain.root.local/hostport01;Raw;Raw Queue (en)
druck_port4;lpd://host.domain.root.local/hostport02;Raw;Raw Queue (en)

"anonymisiert", aber: so schauts aus, gestalterisch keine Grenzen gesetzt, die erste Zeile dient der Beschriftung und kann natürlich weggelassen werden.

daisho

SHODAN
Avatar
Registered: Nov 2002
Location: 4C4
Posts: 19688
Save As, dann bekommt man das CSV File :)

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12067
OK, ich bin mir nicht 100%ig sicher, welche Daten ihr in den Felder habt, aber wenn das so laeuft wie ich denke (und "Model" gar keine Verwendung finden soll/muss; fuer den Aufruf von `lpadmin` sollte es jedenfalls nicht notwendig sein) und ihr das CSV in "printers.csv" abgespeichert habt (UNIX-Zeilenenden beachten!), dann sollte das hier reichen:

Code:
jt@d257:~ $ while IFS=';' read -r qu ho ma mo; do [[ $qu = queue ]] && continue; echo lpadmin -p "${qu}" -v "${ho}" -m "${ma,,}"; done < printers.csv

Output:
Code:
lpadmin -p druck_port1 -v lpd://192.168.0.1/local -m raw
lpadmin -p druck_port2 -v lpd://192.168.0.2/local -m raw
lpadmin -p druck_port3 -v lpd://host.domain.root.local/hostport01 -m raw
lpadmin -p druck_port4 -v lpd://host.domain.root.local/hostport02 -m raw

Wenn das vernuenftig aussieht, einfach das "echo lpadmin" durch "lpadmin" ersetzen. Alle Zeilen, deren erstes Feld den Inhalt "queue" hat, werden in der Schleife ignoriert.

HaBa

Legend
Dr. Funkenstein
Avatar
Registered: Mar 2001
Location: St. Speidl / Gle..
Posts: 19725
Thx, ich werds gleich mal versuchen und geb dir Bescheid

HaBa

Legend
Dr. Funkenstein
Avatar
Registered: Mar 2001
Location: St. Speidl / Gle..
Posts: 19725
Das script wurde ein bißchen abgeändert =>

Code:
while IFS=';' read -r qu ho ma mo; do [[ $qu = queue ]] && continue; echo lpadmin -p "${qu}" -v "${ho}" -m "${ma}" -E; done < printers.csv

=> "model" fürs erste komplett entfernt da nur raw-queues
=> "-E" enabled die queues dann auch gleich mit

lt. CUPS passen die queues, jetzt wird mal getestet.


THX! Pivo steht!

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12067
Fein; freut mich, dass das geklappt hat. :)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz