use*_*815 17 ssh bash rsync remote-access
我想得到我的数据传输使用的所有目标设备的IP rsync无法完成(甚至启动),因为这些设备未连接到Internet或在数据传输时断开连接...
我的实际问题场景是:
rsync -t Desktop/sony.pdf home @ abcd:ssh:connect to host abcd port 22:没有到主机的路由
我想要所有这些IP的列表,其中数据传输无法完成...
所有IP的列表,如'abcd'
当rsync在守护程序模式下运行时,日志信息通常通过syslog守护程序发送。
如果要在ssh上使用rsync时记录日志,则必须在命令行中放置选项:
rsync --rsync-path='/usr/bin/rsync --log-file=$HOME/.rsyncd.log' -t Desktop/sony.pdf home@a.b.c.d:
Run Code Online (Sandbox Code Playgroud)
用于将日志保存到目标主机或
rsync --log-file=$HOME/.rsyncd.log -t Desktop/sony.pdf home@a.b.c.d:
Run Code Online (Sandbox Code Playgroud)
用于将日志保存在源主机中。
我在 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
Run Code Online (Sandbox Code Playgroud)
这可能会产生如下输出:
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
Run Code Online (Sandbox Code Playgroud)