linux open o_rsync,ssh – 使用rsync的BackupPC失败,“协议版本不匹配 – 你的shell是否干净?”...

我刚刚在Debian框中安装了BackupPC,将其用作备份服务器.如

你知道,这个软件可以使用rsync等.使用时

rsync选项,它失败了.

>服务器:Debian Jessie. BackupPC 3.3.1从源代码构建,由执行

用户“backup-user”. Rsync 3.1.2使用默认值从源代码构建

选项.

>客户:Debian Jessie. Rsync 3.1.2使用默认值从源代码构建

选项.

失败后,可以在BackupPC的日志中找到使用的rsync命令.

在shell中尝试命令,以BackupPC用户身份登录,我遇到了这个问题

“协议版本不匹配 – 你的shell干净了吗?”错误.命令是:

/usr/bin/ssh -q -x -l backup-user 192.168.10.20 /usr/local/bin/rsync

--server --sender --numeric-ids --perms --owner --group -D --links

--hard-links --times --block-size=2048 --recursive --ignore-times .

/home/backup-user/test

在发送给客户端的rsync命令中添加一些详细信息,它说(注意远程协议版本):

FILE_STRUCT_LEN=24,EXTRA_LEN=4

(Server) Protocol versions: remote=168430090,negotiated=31

protocol version mismatch -- is your shell clean?

(see the rsync man page for an explanation)

[sender] _exit_cleanup(code=2,file=compat.c,line=178): entered rsync error: protocol incompatibility (code 2) at compat.c(178) [sender=3.1.2]

[sender] _exit_cleanup(code=2,line=178): about to call exit(2)

看起来远程协议中的168430090是十进制的

代表0xA0A0​​A0A,但不知道是什么写的.我在列表中搜索了类似的错误,但我找到的所有错误都归功于我已经检查过的内容.

在客户端中,使用我在rsync站点中找到的调试脚本:

/usr/bin/ssh -q -x -l backup-user 192.168.206.103

/home/backup-user/rsync-debug --server --sender --numeric-ids --perms

--owner --group -D --links --hard-links --times --block-size=2048

--recursive --ignore-times . /home/backup-user/test

rsync-2991.out内容:

2997 00:58:30 brk(0) = 0xefb000

2997 00:58:30 access("/etc/ld.so.nohwcap",F_OK) = -1 ENOENT (No such file

or directory)

2997 00:58:30 mmap(NULL,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0) = 0x7fefc7341000

2997 00:58:30 access("/etc/ld.so.preload",R_OK) = -1 ENOENT (No such file

or directory)

2997 00:58:30 open("/etc/ld.so.cache",O_RDONLY|O_CLOEXEC) = 3

2997 00:58:30 fstat(3,{st_mode=S_IFREG|0644,st_size=33837,...}) = 0

2997 00:58:30 mmap(NULL,33837,PROT_READ,MAP_PRIVATE,3,0) =

0x7fefc7338000

2997 00:58:30 close(3) = 0

2997 00:58:30 access("/etc/ld.so.nohwcap",F_OK) = -1 ENOENT (No such file

or directory)

2997 00:58:30 open("/lib/x86_64-linux-gnu/libc.so.6",O_RDONLY|O_CLOEXEC)

= 3

2997 00:58:30 read(3,"\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\34\2\0\0\0\0\0@

\0\0\0\0\0\0\0\300T\32\0\0\0\0\0\0\0\0\0@\0008\0\n\0@

\0D\0C\0\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0000\2\0\0\0\0\0\0000\2\0\0\0\0\0\0\10\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0000\303\26\0\0\0\0\0000\303\26\0\0\0\0\0000\303\26\0\0\0\0\0\34\0\0\0\0\0\0\0\34\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\364\352\31\0\0\0\0\0\364\352\31\0\0\0\0\0\0\0

\0\0\0\0\0\1\0\0\0\6\0\0\0@\367\31\0\0\0\0\0@\3679\0\0\0\0\0@\3679\0\0\0\0\0\370O\0\0\0\0\0\0\340\222\0\0\0\0\0\0\0\0

\0\0\0\0\0\2\0\0\0\6\0\0\0\240 \32\0\0\0\0\0\240 :\0\0\0\0\0\240

:\0\0\0\0\0\340\1\0\0\0\0\0\0\340\1\0\0\0\0\0\0\10\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0p\2\0\0\0\0\0\0p\2\0\0\0\0\0\0p\2\0\0\0\0\0\0D\0\0\0\0\0\0\0D\0\0\0\0\0\0\0\4\0\0\0\0\0\0\0\7\0\0\0\4\0\0\0@

\367\31\0\0\0\0\0@\3679\0\0\0\0\0@

\3679\0\0\0\0\0\20\0\0\0\0\0\0\0\200\0\0\0\0\0\0\0\10\0\0\0\0\0\0\0P\345td\4\0\0\0L\303\26\0\0\0\0\0L\303\26\0\0\0\0\0L\303\26\0\0\0\0\0$j\0\0\0\0\0\0$j\0\0\0\0\0\0\4\0\0\0\0\0\0\0Q\345td\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\0\0\0\0\0\0R\345td\4\0\0\0@

\367\31\0\0\0\0\0@\3679\0\0\0\0\0@

\3679\0\0\0\0\0\3008\0\0\0\0\0\0\3008\0\0\0\0\0\0\1\0\0\0\0\0\0\0\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\371?y\343\344|\332K|C=\2\323!\316@\34J\205\1\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0

\0\0\0\0\0\0\0\363\3\0\0\n\0\0\0\0\1\0\0\16\0\0\0\0000\20D\240

\2\1\210\3\346\220\305E\214\0\300\0\10\0\5\200\0`\300\200\0\r\212\f\0\4\20\0\210D2\10.@\210P4,\16\"H&\204\300\214\4\10\0\2\2\16\241\254\32\4f\300\0\3002\0\300\0P\1

\201\10\204\v ($\0\4 P\0\20X\200\312DB(\0\6\200\20\30B\0

@\200\0\tP\0Q\212@\20\0\0\0\0\10\0\0\21\20",832) = 832

2997 00:58:30 fstat(3,{st_mode=S_IFREG|0755,st_size=1729984,3836448,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_DENYWRITE,0) = 0x7fefc6d7a000

2997 00:58:30 mprotect(0x7fefc6f19000,2097152,PROT_NONE) = 0

2997 00:58:30 mmap(0x7fefc7119000,24576,MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE,0x19f000) = 0x7fefc7119000

2997 00:58:30 mmap(0x7fefc711f000,14880,MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS,0) = 0x7fefc711f000

2997 00:58:30 close(3) = 0

2997 00:58:30 mmap(NULL,4096,0) = 0x7fefc7337000

2997 00:58:30 mmap(NULL,0) = 0x7fefc7336000

2997 00:58:30 mmap(NULL,0) = 0x7fefc7335000

2997 00:58:30 arch_prctl(ARCH_SET_FS,0x7fefc7336700) = 0

2997 00:58:30 mprotect(0x7fefc7119000,16384,PROT_READ) = 0

2997 00:58:30 mprotect(0x7fefc7343000,PROT_READ) = 0

2997 00:58:30 munmap(0x7fefc7338000,33837) = 0

2997 00:58:30 rt_sigaction(SIGUSR1,{0x41c690,[],SA_RESTORER|SA_NOCLDSTOP,0x7fefc6daf180},NULL,8) = 0

2997 00:58:30 rt_sigaction(SIGUSR2,{0x41d220,8) = 0

2997 00:58:30 rt_sigaction(SIGCHLD,{0x41c630,8) = 0

2997 00:58:30 geteuid() = 1001

2997 00:58:30 getegid() = 1001

2997 00:58:30 umask(0) = 022

2997 00:58:30 umask(022) = 0

2997 00:58:30 brk(0) = 0xefb000

2997 00:58:30 brk(0xf1c000) = 0xf1c000

2997 00:58:30 open("/usr/lib/locale/locale-archive",O_RDONLY|O_CLOEXEC) =

3

2997 00:58:30 fstat(3,st_size=1607632,1607632,0) =

0x7fefc71ac000

2997 00:58:30 close(3) = 0

2997 00:58:30 open("/etc/popt",O_RDONLY) = -1 ENOENT (No such file or

directory)

2997 00:58:30 open("/home/backup-user/.popt",O_RDONLY) = -1 ENOENT (No

such file or directory)

2997 00:58:30 rt_sigaction(SIGINT,{0x40cca0,8) = 0

2997 00:58:30 rt_sigaction(SIGHUP,8) = 0

2997 00:58:30 rt_sigaction(SIGTERM,8) = 0

2997 00:58:30 rt_sigprocmask(SIG_UNBLOCK,[HUP INT USR1 USR2 TERM CHLD],8) = 0

2997 00:58:30 rt_sigaction(SIGPIPE,{SIG_IGN,8) = 0

2997 00:58:30 rt_sigaction(SIGXFSZ,8) = 0

2997 00:58:30 getcwd("/home/backup-user",4095) = 13

2997 00:58:30 fcntl(0,F_GETFL) = 0 (flags O_RDONLY)

2997 00:58:30 fcntl(0,F_SETFL,O_RDONLY|O_NONBLOCK) = 0

2997 00:58:30 fcntl(1,F_GETFL) = 0x1 (flags O_WRONLY)

2997 00:58:30 fcntl(1,O_WRONLY|O_NONBLOCK) = 0

2997 00:58:30 fcntl(0,F_GETFL) = 0x800 (flags O_RDONLY|O_NONBLOCK)

2997 00:58:30 fcntl(1,F_GETFL) = 0x801 (flags O_WRONLY|O_NONBLOCK)

2997 00:58:30 write(1,"\37\0\0\0",4) = 4

这是脚本停止的地方.我必须在服务器中多次返回.然后它继续:

2997 00:58:30 select(1,[0],{60,0}) = 1 (in [0],left {55,558348})

2997 00:58:34 read(0,"\n",4) = 1

2997 00:58:34 select(1,left {59,793510})

2997 00:58:35 read(0,3) = 1

2997 00:58:35 select(1,975726})

2997 00:58:35 read(0,2) = 1

2997 00:58:35 select(1,968630})

2997 00:58:35 read(0,1) = 1

2997 00:58:35 write(2,"protocol version mismatch -- is your shell

clean?",49) = 49

2997 00:58:35 write(2,1) = 1

2997 00:58:35 write(2,"(see the rsync man page for an explanation)",43)

= 43

2997 00:58:35 write(2,1) = 1

2997 00:58:35 rt_sigaction(SIGUSR1,SA_RESTORER,8) = 0

2997 00:58:35 rt_sigaction(SIGUSR2,8) = 0

2997 00:58:35 write(2,"rsync error: protocol incompatibility (code 2) at

compat.c(178) [sender=3.1.2]",78) = 78

2997 00:58:35 write(2,1) = 1

2997 00:58:35 nanosleep({0,100000000},NULL) = 0

2997 00:58:35 exit_group(2) = ?

2997 00:58:35 exited with 2

经过几个小时的研究,我无法弄清楚出了什么问题.我删除了

并检查了所有可以写任何文本的内容(ssh welcome message,

.bashrc echos,passphrase甚至系统提示)和rsync仍然是

无法收集文件. ssh连接是无密码的.

我也做了真正的> testfile测试,没有问题:

backup-user@backup:~$/usr/bin/ssh -q -x -l backup-user 192.168.10.20 true

> testfile

backup-user@backup:~$ll testfile

-rw-r--r-- 1 backup-user backup-user 0 feb 16 02:26 testfile

线条:

2997 00:58:30 open("/etc/popt",O_RDONLY) = -1 ENOENT (No

such file or directory)

看起来很可疑,但也检查了涉及的库.

选项–server和–sender由BackupPC添加,但不应该

正如rsync文档所述,需要在常规使用中使用.

有人发现了同样的问题吗?我知道通常这是由在终端上写入数据的东西引起的,但是使用调试脚本我可以看到rsync是写入数据的过程.

希望这些信息足够清晰.谢谢你的时间.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值