#!/usr/bin/perl use strict; use warnings; use Sys::Hostname; sub sendmsg($;$$) { my ($message, $class, $instance) = @_; $class ||= "scripts-auto"; $instance ||= 'root.'.hostname; open(ZWRITE, "|-", qw|/usr/bin/zwrite -d -c|, $class, '-i', $instance, '-s', hostname) or die "Couldn't open zwrite"; print ZWRITE $message; close(ZWRITE); } my $last; while (my $message = <>) { chomp $message; $message =~ s/^(.*?): //; if ($message =~ m|Accepted (\S+) for (\S+)|) { my $send = $message; if ($1 eq "gssapi-with-mic") { $send = $last."\n".$send; } if ($2 eq "root" or $2 eq "logview") { sendmsg($send); } } elsif ($message =~ m|session \S+ for user root |) { sendmsg($message); } $last = $message; }