Improved the regex to match syslog lines and be easier to read.
authorWayne Davison <wayned@samba.org>
Mon, 13 Mar 2006 16:45:24 +0000 (16:45 +0000)
committerWayne Davison <wayned@samba.org>
Mon, 13 Mar 2006 16:45:24 +0000 (16:45 +0000)
support/rsyncstats

index 908e3d9..e770b9d 100755 (executable)
@@ -52,9 +52,22 @@ if ($only_section) {
 
 line: while (<LOG>) {
 
 
 line: while (<LOG>) {
 
+my $syslog_prefix = '\w\w\w +\d+ \d\d:\d\d:\d\d \S+ rsyncd';
+my $rsyncd_prefix = '\d\d\d\d/\d\d/\d\d \d\d:\d\d:\d\d ';
+
    next unless ($day,$time,$op,$host,$module,$file,$bytes)
    next unless ($day,$time,$op,$host,$module,$file,$bytes)
-      = m#^ (\d+/\d\d/\d\d)\s+(\d\d:\d\d:\d\d)\s+\[\d+\]\s+(send|recv|[<>]f\S+)\s+
-          (\S+)\s+\[\d+\.\d+\.\d+\.\d+\]\s+(\S+)\s+\(\S*\)\s+(.*)\s+(\d+) $ #x;
+      = m{^
+         ( \w\w\w\s+\d+ | \d+/\d\d/\d\d ) \s+ # day
+         (\d\d:\d\d:\d\d) \s+                 # time
+         [^[]* \[\d+\]:? \s+                  # pid (ignored)
+         (send|recv|[<>]f\S+) \s+             # op (%o or %i)
+         (\S+) \s+                            # host
+         \[\d+\.\d+\.\d+\.\d+\] \s+           # IP (ignored)
+         (\S+) \s+                            # module
+         \(\S*\) \s+                          # user (ignored)
+         (.*) \s+                             # file name
+         (\d+)                                # file length in bytes
+         $ }x;
 
    # TODO actually divide the data by into send/recv categories
    if ($op =~ /^>/) {
 
    # TODO actually divide the data by into send/recv categories
    if ($op =~ /^>/) {