- warn "# reading log output from $log_fifo\n";
- open(my $log, '<', $log_fifo);
- while( my $line = <$log> ) {
- print "LINE: $line";
- if ( $line =~ /transfer-log:(.+\|.+)/ ) {
+ die "no rsync running" unless kill 0, rsync_running_pid;
+ warn "waiting for log from $log_fifo\n";
+ open(my $fifo, '<', $log_fifo);
+ while( my $line = <$fifo> ) {
+ Module::Refresh->refresh;
+ chomp $line;
+ warn $line, $/;
+
+ if ( $line =~ /\[(\d+)\] transfer-log:(.+)/ ) {
+ my $pid = $1;
+ my $transfer = $2;
+ $transfer =~ s|(\d\d\d\d)/(\d\d)/(\d\d)[-\s](\d\d:\d\d:\d\d)|$1-$2-$3T$4|g;
+ my ( $yyyy,$mm,$dd,undef,$login,undef ) = split( /[\-T\|]/, $transfer, 6 );
+ my $host = $1 if $login =~ s/\+(.+)//;
+
+if(0) {
+ my $path = "users/$login/log";
+ mkdir $path unless -d $path;
+ $path .= "/$yyyy-$mm-$dd";
+ my $new_log = ! -e $path;
+ open( my $log, '>>', $path );
+ print $log join('|',@transfer),"\n" if $new_log; # store header
+ print $log "$transfer\n";
+ close $log;
+}
+
+ my @v = split(/\|/,$transfer,$#transfer + 1);