В настоящее время у меня есть скрипт bash, который анализирует /var/log/mail.log, чтобы определить время / дату последнего входа пользователя imap.Я определил, что Perl будет намного эффективнее и быстрее для этой задачи, особенно с ростом журналов.
Учитывая следующий пример файла /var/log/mail.log:
Jul 5 06:57:54 mail-04 dovecot: imap-login: Login: user=<user@foobar.com.au>, method=PLAIN, rip=192.168.x.x, lip=192.168.x.x
Jul 5 06:59:54 mail-04 dovecot: imap-login: Login: user=<user@foobar.com.au>, method=PLAIN, rip=192.168.x.x, lip=192.168.x.x
Jul 5 06:59:59 mail-04 dovecot: imap-login: Login: user=<otheruser@foobar.com.au>, method=PLAIN, rip=192.168.x.x, lip=192.168.x.x
Jul 5 07:01:54 mail-04 dovecot: imap-login: Login: user=<user@foobar.com.au>, method=PLAIN, rip=192.168.x.x, lip=192.168.x.x
Jul 5 07:01:59 mail-04 dovecot: imap-login: Login: user=<otheruser@foobar.com.au>, method=PLAIN, rip=192.168.x.x, lip=192.168.x.x
Какой самый эффективный способ в Perl распечатать время последнего входа в систему каждого уникального пользователя?Например, ожидаемый результат должен быть:
user@foobar.com.au last imap-login: Jul 5 07:01:54
otheruser@foobar.com.au last imap-login: Jul 5 07:01:59