sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #02642
Re: SV: Printerkø-administration
Bare kør den som et CGI-scripts. (Læg den evt. i /home/httpd/cgi-bin, hvis
du bruger redhat, og prøv http://localhost/cgi-bin/print.pl)
Jesper
/---------------------------------------\
| "We know where we want to go today!!" |
| Go Linux! http://www.linux.org/ |
|---------------------------------------|
| Help us convince the US government to |
| allow strong cryptography... |
| - www.distributed.net |
\---------------------------------------/
On Fri, 19 Feb 1999, Peter Chr. Hansen wrote:
> Hvordan skal den kaldes fra html dokumentet???
>
> > -----Oprindelig meddelelse-----
> > Fra: Jesper Monsted [SMTP:jesper@xxxxxxxxxxx]
> > Sendt: 19. februar 1999 13:36
> > Til: sslug-teknik@xxxxxxxx
> > Emne: [TEKNIK] Printerkø-administration
> >
> > Der var nogle stykker der spurgte efter et script til at holde øje med
> > printerkøer, inden jeg tog på ferie for et par uger siden... her kommer
> > det så :)
> >
> > --- start print.pl ---
> > #!/usr/bin/perl
> >
> > use CGI qw/:standard/;
> > $ENV{PATH} = "/usr/bin";
> > undef $ENV{ENV};
> >
> > # Printernavne - kun til pynt
> > $names{lp} = "HP Deskjet 670C";
> > $names{hpl4} = "HP LaserJet 4";
> >
> > print header, start_html("Printerkø-editor"),
> > h1("Printerkø-editor"), hr, "\n";
> > open PRINTCAP, "/etc/printcap" or RIP("Kan ikke åbne
> > /etc/printcap");
> >
> > foreach (<PRINTCAP>)
> > {
> > if (/^(\w+):/)
> > {
> > push @printers, $1;
> > }
> > }
> >
> > if ($kill = param("kill"))
> > {
> > $< = 0;
> > $> = 0;
> > $( = 0;
> > $) = 0;
> > $lp = param("lp");
> > ($kill) = ($kill =~ /^(\d+)/);
> > ($lp) = ($lp =~ /^(\w+)/);
> > $command = "lprm -P $lp $kill";
> > $_ = `$command`;
> > if (/dequeue/)
> > {
> > print h3("Afbrød job nr. $kill på $lp-køen."), hr,
> > "\n";
> > }
> > else
> > {
> > print h3("Kunne ikke afbryde job nr. $kill på
> > $lp-køen."), hr, "\n";
> > }
> > }
> >
> > if (scalar @printers > 0)
> > {
> > print h4("Fandt " . scalar @printers . " printere."), hr, "\n";
> > }
> > else
> > {
> > RIP(h2("Fandt ingen printere!") . "\n");
> > }
> >
> > foreach $printer (@printers)
> > {
> > print h3("Kønavn: $printer, Printernavn: $names{$printer}"),
> > "\n";
> > open LPQ, "lpq -P $printer |";
> > print h4("Printerstatus: " . <LPQ>);
> > if (<LPQ>)
> > {
> > print "<table border=1>\n";
> > print "<tr><td>Nummer i
> > køen:</td><td>Ejer:</td><td>Jobnummer:</td><td>Filnavn:</td><td>St&
> > oslash;rrelse</td><tr>\n";
> > foreach (<LPQ>)
> > {
> > ($rank,$owner,$job,$file,$size) = /(.{7})(.{11})(.{5})(.{38})(.+)/;
> > $rank =~ s/^(\d+).*/$1/;
> > $owner =~ s/^(\w+).*/$1/;
> > $job =~ s/^(\d+).*/$1/;
> > $file =~ s/\ *$//;
> > $size =~ s/\ *$//;
> > print
> > "<tr><td>$rank</td><td>$owner</td><td>$job</td><td>$file</td><td>$size</td
> > ><td><a href=\"print.pl?kill=$job&lp=$printer\">Kill</a></td></tr>\n";
> > }
> > print "</table>\n";
> > }
> > print hr;
> > }
> >
> > sub RIP {
> > die h1(join(" ", @_)) . "\n" . end_html;
> > }
> > --- end print.pl ---
> >
> > Programmet skal være suid root for at kunne myrde printerjobs...
> >
> >
> > Jesper
> >
> > /---------------------------------------\
> > | "We know where we want to go today!!" |
> > | Go Linux! http://www.linux.org/ |
> > |---------------------------------------|
> > | Help us convince the US government to |
> > | allow strong cryptography... |
> > | - www.distributed.net |
> > \---------------------------------------/
>
References