19

我想获取我的数据传输使用rsync无法完成(甚至无法启动)的所有目标设备的 IP,因为这些设备未连接到 Internet 或在数据传输时断开连接......


我的实际问题场景是:

rsync -t Desktop/sony.pdf home@abcd: ssh: 连接到主机 abcd 端口 22: 没有到主机的路由

我想要无法完成数据传输的所有此类 IP 的列表...

所有 IP 的列表,例如“abcd”

4

4 回答 4

33

您可以说出日志文件的位置(根据手册页文档):

--log-file=FILE 覆盖“日志文件”设置
于 2012-10-24T20:57:07.983 回答
7

当 rsync 在守护进程模式下运行时,日志信息通常通过 syslog 守护进程发送。

如果您想在通过 ssh 使用 rsync 时记录某些内容,则必须在命令行中输入选项:

rsync --rsync-path='/usr/bin/rsync --log-file=$HOME/.rsyncd.log' -t Desktop/sony.pdf home@a.b.c.d:

用于在目标主机中保存日志或

rsync --log-file=$HOME/.rsyncd.log -t Desktop/sony.pdf home@a.b.c.d:

用于在源主机中保存日志。

于 2012-10-25T19:54:30.867 回答
6

在系统日志中搜索 rsync 的证据。例如:

sudo grep -ir rsync /var/log

就此而言,您可以使用 grep / 虽然这太过分了。

于 2012-10-25T12:43:17.197 回答
3

我在 perl 中完成这项工作(在命令行中):

# perl -ne '
    ($conn{$2}->{"ip"},$conn{$2}->{"started"})=($3,$1) if 
        /^(.{15}).*rsyncd\[(\d+)\]:\sconnect.*\((\d+\.\d+\.\d+\.\d+)\)/;
    $conn{$2}->{"closed"}=$1 if /(.{15}).*rsyncd\[(\d+)\]:\ssent\s.*\stotal/;
    END {
        print "Good:\n";
        map{
            printf "%s %-16s %s\n",
                $conn{$_}->{"started"},$conn{$_}->{"ip"},$conn{$_}->{"closed"} if
                    $conn{$_}->{"closed"};
          } sort { $conn{$a}->{"started"} cmp $conn{$b}->{"started"}
          } keys %conn;
        print "Unterminated:\n";
        map{
            printf "%s %s\n",$conn{$_}->{"started"},$conn{$_}->{"ip"};
          } sort { $conn{$a}->{"started"} cmp $conn{$b}->{"started"}
          } grep { ! defined $conn{$_}->{"closed"}
          } keys %conn;
    }' < /var/log/daemon.log

这可能会产生如下输出:

Good:
Apr 28 08:12:01 127.0.0.1        Apr 28 08:15:35
Apr 28 08:27:01 192.168.1.36     Apr 28 08:28:04
Apr 28 08:42:01 127.0.0.1        Apr 28 08:42:13
Apr 28 08:57:01 192.168.1.36     Apr 28 08:57:16
Apr 28 09:12:01 127.0.0.1        Apr 28 09:12:28
Apr 28 09:27:01 192.168.1.36     Apr 28 09:27:13
Apr 28 09:42:01 127.0.0.1        Apr 28 09:42:09
Apr 28 09:57:02 192.168.1.36     Apr 28 09:57:16
Apr 28 10:12:01 127.0.0.1        Apr 28 10:12:32
Apr 28 10:27:01 192.168.1.36     Apr 28 10:27:12
Apr 28 10:42:01 127.0.0.1        Apr 28 10:42:14
Apr 28 10:57:01 192.168.1.36     Apr 28 10:57:13
Apr 28 11:27:01 192.168.1.36     Apr 28 11:28:01
Apr 28 11:42:01 127.0.0.1        Apr 28 11:44:32
Apr 28 11:57:02 192.168.1.36     Apr 28 11:58:43
Apr 28 12:12:01 127.0.0.1        Apr 28 12:12:27
Apr 28 12:27:01 192.168.1.36     Apr 28 12:28:48
Apr 28 12:42:01 127.0.0.1        Apr 28 12:42:13
Apr 28 12:57:01 192.168.1.36     Apr 28 12:57:56
Unterminated:
Apr 28 11:12:01 127.0.0.1
于 2012-10-24T23:20:08.747 回答