我试图用logwatch压缩来自vsftpd的系统日志条目,从:
vsftpd: pam_succeed_if(vsftpd:auth): error retrieving information about user Administrator vsftpd: pam_succeed_if(vsftpd:auth): error retrieving information about user Administrator vsftpd: pam_succeed_if(vsftpd:auth): error retrieving information about user Administrator vsftpd: pam_succeed_if(vsftpd:auth): error retrieving information about user Administrator vsftpd: pam_succeed_if(vsftpd:auth): error retrieving information about user Administrator ... many many times
至
vsftpd: pam_succeed_if(vsftpd:auth): error retrieving information about user Administrator : 125 time(s)
我怎样才能做到这一点?
您使用的是Linux / Unix的版本和发行版本,logwatch的版本是什么? 我正在运行Redhat 4 –logwatch 5.2.2,并在我的vsftp脚本(/etc/log.d/scripts/services/vsftp)中有以下内容:
if (keys %FailedLogins) { print "\nFailed FTP Logins:\n"; foreach $ThisOne (keys %FailedLogins) { print $ThisOne . $FailedLogins{$ThisOne} . " Time(s)\n"; } }
在脚本的前面,它总结了每个用户的失败。
升级logwatch。 较新的logwatch脚本自动做到这一点。
uniq会为你做这个:我不认为你可以控制格式,但你可以很容易地解决这个问题。
#echo -e“two \ ntwo \ none \ ntwo \ ntwo”| uniq -c
2两
1个
2两
我假设你不关心你的例子中没有的时间戳。