sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #02640
SV: Printerkø-administration
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 |
> \---------------------------------------/
Follow ups