BackupPC usando rsync falha com “incompatibilidade de versão do protocolo - o shell está limpo?”

6

Acabei de instalar o BackupPC em uma caixa Debian para usá-lo como servidor de backup. Como você sabe, este software faz uso, entre outros, do rsync. Ao usar o opção rsync, falha.

  • Servidor: Debian Jessie. BackupPC 3.3.1 construído a partir da fonte, executado por usuário "backup-user". Rsync 3.1.2 construído a partir da fonte com o padrão opções.

  • Cliente: Debian Jessie. Rsync 3.1.2 construído a partir da fonte com o padrão opções.

Após a falha, o comando rsync usado pode ser encontrado nos logs do BackupPC. Tentando o comando em um shell, logado como o usuário do BackupPC, eu me deparo com isso "incompatibilidade de versão do protocolo - o seu shell está limpo?" erro. O comando é:

/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

Adicionando algum verbose ao comando rsync enviado ao cliente, ele diz ( Observe a versão do protocolo remoto ):

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, file=compat.c, line=178): about to call exit(2)

Parece que o 168430090 no protocolo remoto é o decimal representação para 0xA0A0A0A, mas nenhuma pista do que está escrevendo. Eu procurei por erros semelhantes na lista, mas tudo que encontrei se deve a coisas que eu já verifiquei.

No cliente, usando o script de depuração que encontrei no site 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 conteúdo:

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,
"7ELF
2997  00:58:30 select(1, [0], NULL, [0], {60, 0}) = 1 (in [0], left {55,
558348})
2997  00:58:34 read(0, "\n", 4)         = 1
2997  00:58:34 select(1, [0], NULL, [0], {60, 0}) = 1 (in [0], left {59,
793510})
2997  00:58:35 read(0, "\n", 3)         = 1
2997  00:58:35 select(1, [0], NULL, [0], {60, 0}) = 1 (in [0], left {59,
975726})
2997  00:58:35 read(0, "\n", 2)         = 1
2997  00:58:35 select(1, [0], NULL, [0], {60, 0}) = 1 (in [0], left {59,
968630})
2997  00:58:35 read(0, "\n", 1)         = 1
2997  00:58:35 write(2, "protocol version mismatch -- is your shell
clean?", 49) = 49
2997  00:58:35 write(2, "\n", 1)        = 1
2997  00:58:35 write(2, "(see the rsync man page for an explanation)", 43)
= 43
2997  00:58:35 write(2, "\n", 1)        = 1
2997  00:58:35 rt_sigaction(SIGUSR1, {SIG_IGN, [], SA_RESTORER,
0x7fefc6daf180}, NULL, 8) = 0
2997  00:58:35 rt_sigaction(SIGUSR2, {SIG_IGN, [], SA_RESTORER,
0x7fefc6daf180}, NULL, 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, "\n", 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
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)
2997  00:58:30 open("/home/backup-user/.popt", O_RDONLY) = -1 ENOENT (No
such file or directory)
/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
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, file=compat.c, line=178): about to call exit(2)
/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
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,
"7ELF
2997  00:58:30 select(1, [0], NULL, [0], {60, 0}) = 1 (in [0], left {55,
558348})
2997  00:58:34 read(0, "\n", 4)         = 1
2997  00:58:34 select(1, [0], NULL, [0], {60, 0}) = 1 (in [0], left {59,
793510})
2997  00:58:35 read(0, "\n", 3)         = 1
2997  00:58:35 select(1, [0], NULL, [0], {60, 0}) = 1 (in [0], left {59,
975726})
2997  00:58:35 read(0, "\n", 2)         = 1
2997  00:58:35 select(1, [0], NULL, [0], {60, 0}) = 1 (in [0], left {59,
968630})
2997  00:58:35 read(0, "\n", 1)         = 1
2997  00:58:35 write(2, "protocol version mismatch -- is your shell
clean?", 49) = 49
2997  00:58:35 write(2, "\n", 1)        = 1
2997  00:58:35 write(2, "(see the rsync man page for an explanation)", 43)
= 43
2997  00:58:35 write(2, "\n", 1)        = 1
2997  00:58:35 rt_sigaction(SIGUSR1, {SIG_IGN, [], SA_RESTORER,
0x7fefc6daf180}, NULL, 8) = 0
2997  00:58:35 rt_sigaction(SIGUSR2, {SIG_IGN, [], SA_RESTORER,
0x7fefc6daf180}, NULL, 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, "\n", 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
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)
2997  00:58:30 open("/home/backup-user/.popt", O_RDONLY) = -1 ENOENT (No
such file or directory)
%pre%%pre%%pre%%pre%%pre%%pre%>%pre%%pre%%pre%%pre%P%pre%%pre%%pre%%pre%%pre%@ %pre%%pre%%pre%%pre%%pre%%pre%%pre%0T%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%@%pre%08%pre%\n%pre%@ %pre%D%pre%C%pre%%pre%%pre%%pre%%pre%%pre%%pre%@%pre%%pre%%pre%%pre%%pre%%pre%%pre%@%pre%%pre%%pre%%pre%%pre%%pre%%pre%@%pre%%pre%%pre%%pre%%pre%%pre%%pre%00%pre%%pre%%pre%%pre%%pre%%pre%00%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%003%pre%%pre%%pre%%pre%%pre%003%pre%%pre%%pre%%pre%%pre%003%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%42%pre%%pre%%pre%%pre%%pre%42%pre%%pre%%pre%%pre%%pre%%pre%%pre% %pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%@7%pre%%pre%%pre%%pre%%pre%@79%pre%%pre%%pre%%pre%%pre%@79%pre%%pre%%pre%%pre%%pre%0O%pre%%pre%%pre%%pre%%pre%%pre%02%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre% %pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%0 %pre%%pre%%pre%%pre%%pre%0 :%pre%%pre%%pre%%pre%%pre%0 :%pre%%pre%%pre%%pre%%pre%0%pre%%pre%%pre%%pre%%pre%%pre%0%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%p%pre%%pre%%pre%%pre%%pre%%pre%p%pre%%pre%%pre%%pre%%pre%%pre%p%pre%%pre%%pre%%pre%%pre%%pre%D%pre%%pre%%pre%%pre%%pre%%pre%%pre%D%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%@ 7%pre%%pre%%pre%%pre%%pre%@79%pre%%pre%%pre%%pre%%pre%@ 79%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%0%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%P5td%pre%%pre%%pre%L3%pre%%pre%%pre%%pre%%pre%L3%pre%%pre%%pre%%pre%%pre%L3%pre%%pre%%pre%%pre%%pre%$j%pre%%pre%%pre%%pre%%pre%%pre%$j%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%Q5td%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%R5td%pre%%pre%%pre%@ 7%pre%%pre%%pre%%pre%%pre%@79%pre%%pre%%pre%%pre%%pre%@ 79%pre%%pre%%pre%%pre%%pre%08%pre%%pre%%pre%%pre%%pre%%pre%08%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%GNU%pre%1?y34|2K|C=3!6@J5%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%GNU%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre% %pre%%pre%%pre%%pre%%pre%%pre%%pre%3%pre%%pre%\n%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%00D0 0605E4%pre%0%pre%%pre%0%pre%'00%pre%\r2\f%pre%%pre%0D2.@0P4, \"H&404%pre%14f0%pre%02%pre%0%pre%P 14\v ($%pre% P%pre%X02DB(%pre%0B%pre% @0%pre%\tP%pre%Q2@%pre%%pre%%pre%%pre%%pre%%pre%", 832) = 832 2997 00:58:30 fstat(3, {st_mode=S_IFREG|0755, st_size=1729984, ...}) = 0 2997 00:58:30 mmap(NULL, 3836448, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fefc6d7a000 2997 00:58:30 mprotect(0x7fefc6f19000, 2097152, PROT_NONE) = 0 2997 00:58:30 mmap(0x7fefc7119000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19f000) = 0x7fefc7119000 2997 00:58:30 mmap(0x7fefc711f000, 14880, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fefc711f000 2997 00:58:30 close(3) = 0 2997 00:58:30 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fefc7337000 2997 00:58:30 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fefc7336000 2997 00:58:30 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 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, 4096, 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, [], SA_RESTORER|SA_NOCLDSTOP, 0x7fefc6daf180}, NULL, 8) = 0 2997 00:58:30 rt_sigaction(SIGCHLD, {0x41c630, [], SA_RESTORER|SA_NOCLDSTOP, 0x7fefc6daf180}, NULL, 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_mode=S_IFREG|0644, st_size=1607632, ...}) = 0 2997 00:58:30 mmap(NULL, 1607632, PROT_READ, MAP_PRIVATE, 3, 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, [], SA_RESTORER|SA_NOCLDSTOP, 0x7fefc6daf180}, NULL, 8) = 0 2997 00:58:30 rt_sigaction(SIGHUP, {0x40cca0, [], SA_RESTORER|SA_NOCLDSTOP, 0x7fefc6daf180}, NULL, 8) = 0 2997 00:58:30 rt_sigaction(SIGTERM, {0x40cca0, [], SA_RESTORER|SA_NOCLDSTOP, 0x7fefc6daf180}, NULL, 8) = 0 2997 00:58:30 rt_sigprocmask(SIG_UNBLOCK, [HUP INT USR1 USR2 TERM CHLD], NULL, 8) = 0 2997 00:58:30 rt_sigaction(SIGPIPE, {SIG_IGN, [], SA_RESTORER|SA_NOCLDSTOP, 0x7fefc6daf180}, NULL, 8) = 0 2997 00:58:30 rt_sigaction(SIGXFSZ, {SIG_IGN, [], SA_RESTORER|SA_NOCLDSTOP, 0x7fefc6daf180}, NULL, 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, F_SETFL, 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, "%pre%%pre%%pre%", 4) = 4
%pre%%pre%>%pre%%pre%%pre%%pre%P%pre%%pre%%pre%%pre%%pre%@ %pre%%pre%%pre%%pre%%pre%%pre%%pre%0T%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%@%pre%08%pre%\n%pre%@ %pre%D%pre%C%pre%%pre%%pre%%pre%%pre%%pre%%pre%@%pre%%pre%%pre%%pre%%pre%%pre%%pre%@%pre%%pre%%pre%%pre%%pre%%pre%%pre%@%pre%%pre%%pre%%pre%%pre%%pre%%pre%00%pre%%pre%%pre%%pre%%pre%%pre%00%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%003%pre%%pre%%pre%%pre%%pre%003%pre%%pre%%pre%%pre%%pre%003%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%42%pre%%pre%%pre%%pre%%pre%42%pre%%pre%%pre%%pre%%pre%%pre%%pre% %pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%@7%pre%%pre%%pre%%pre%%pre%@79%pre%%pre%%pre%%pre%%pre%@79%pre%%pre%%pre%%pre%%pre%0O%pre%%pre%%pre%%pre%%pre%%pre%02%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre% %pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%0 %pre%%pre%%pre%%pre%%pre%0 :%pre%%pre%%pre%%pre%%pre%0 :%pre%%pre%%pre%%pre%%pre%0%pre%%pre%%pre%%pre%%pre%%pre%0%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%p%pre%%pre%%pre%%pre%%pre%%pre%p%pre%%pre%%pre%%pre%%pre%%pre%p%pre%%pre%%pre%%pre%%pre%%pre%D%pre%%pre%%pre%%pre%%pre%%pre%%pre%D%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%@ 7%pre%%pre%%pre%%pre%%pre%@79%pre%%pre%%pre%%pre%%pre%@ 79%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%0%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%P5td%pre%%pre%%pre%L3%pre%%pre%%pre%%pre%%pre%L3%pre%%pre%%pre%%pre%%pre%L3%pre%%pre%%pre%%pre%%pre%$j%pre%%pre%%pre%%pre%%pre%%pre%$j%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%Q5td%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%R5td%pre%%pre%%pre%@ 7%pre%%pre%%pre%%pre%%pre%@79%pre%%pre%%pre%%pre%%pre%@ 79%pre%%pre%%pre%%pre%%pre%08%pre%%pre%%pre%%pre%%pre%%pre%08%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%GNU%pre%1?y34|2K|C=3!6@J5%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%GNU%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre% %pre%%pre%%pre%%pre%%pre%%pre%%pre%3%pre%%pre%\n%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%%pre%00D0 0605E4%pre%0%pre%%pre%0%pre%'00%pre%\r2\f%pre%%pre%0D2.@0P4, \"H&404%pre%14f0%pre%02%pre%0%pre%P 14\v ($%pre% P%pre%X02DB(%pre%0B%pre% @0%pre%\tP%pre%Q2@%pre%%pre%%pre%%pre%%pre%%pre%", 832) = 832 2997 00:58:30 fstat(3, {st_mode=S_IFREG|0755, st_size=1729984, ...}) = 0 2997 00:58:30 mmap(NULL, 3836448, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fefc6d7a000 2997 00:58:30 mprotect(0x7fefc6f19000, 2097152, PROT_NONE) = 0 2997 00:58:30 mmap(0x7fefc7119000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19f000) = 0x7fefc7119000 2997 00:58:30 mmap(0x7fefc711f000, 14880, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fefc711f000 2997 00:58:30 close(3) = 0 2997 00:58:30 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fefc7337000 2997 00:58:30 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fefc7336000 2997 00:58:30 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 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, 4096, 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, [], SA_RESTORER|SA_NOCLDSTOP, 0x7fefc6daf180}, NULL, 8) = 0 2997 00:58:30 rt_sigaction(SIGCHLD, {0x41c630, [], SA_RESTORER|SA_NOCLDSTOP, 0x7fefc6daf180}, NULL, 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_mode=S_IFREG|0644, st_size=1607632, ...}) = 0 2997 00:58:30 mmap(NULL, 1607632, PROT_READ, MAP_PRIVATE, 3, 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, [], SA_RESTORER|SA_NOCLDSTOP, 0x7fefc6daf180}, NULL, 8) = 0 2997 00:58:30 rt_sigaction(SIGHUP, {0x40cca0, [], SA_RESTORER|SA_NOCLDSTOP, 0x7fefc6daf180}, NULL, 8) = 0 2997 00:58:30 rt_sigaction(SIGTERM, {0x40cca0, [], SA_RESTORER|SA_NOCLDSTOP, 0x7fefc6daf180}, NULL, 8) = 0 2997 00:58:30 rt_sigprocmask(SIG_UNBLOCK, [HUP INT USR1 USR2 TERM CHLD], NULL, 8) = 0 2997 00:58:30 rt_sigaction(SIGPIPE, {SIG_IGN, [], SA_RESTORER|SA_NOCLDSTOP, 0x7fefc6daf180}, NULL, 8) = 0 2997 00:58:30 rt_sigaction(SIGXFSZ, {SIG_IGN, [], SA_RESTORER|SA_NOCLDSTOP, 0x7fefc6daf180}, NULL, 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, F_SETFL, 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, "%pre%%pre%%pre%", 4) = 4

Aqui é onde o script é interrompido. Eu tenho que bater o retorno várias vezes no servidor. Então continua:

%pre%

Depois de algumas horas de pesquisa, não consigo descobrir o que está errado. Eu removi e verifiquei tudo o que poderia escrever qualquer texto (mensagem de boas vindas, .bashrc echos, passphrase e até mesmo o prompt do sistema) e rsync ainda é incapaz de reunir os arquivos. A conexão ssh é feita sem senha.

Eu também fiz o verdadeiro > teste do testfile, sem problemas:

%pre%

As linhas:

%pre%

Parece-me suspeito, mas também verificou as bibliotecas envolvidas.

As opções --server e --sender são adicionadas pelo BackupPC, mas não são supostas para ser necessário em um uso regular, como afirma a documentação do rsync.

Alguém encontrou o mesmo problema? Eu sei que geralmente isso é causado por algo escrever dados no terminal, mas com o script de depuração eu posso ver que é rsync o processo de escrever os dados.

Espero que esta informação seja clara o suficiente. Obrigado pelo seu tempo.

    
por zisk0 22.02.2016 / 14:56

1 resposta

2

O BackupPC provavelmente está usando o módulo Perl File :: Rsync para se conectar ao cliente. Eu suspeitaria de um problema de bug ou compatibilidade neste módulo.

Existe um pacote de BackupPC para o Debian. Deve listar todas as dependências apropriadas. O pacote de origem pode listar dependências.

Eu geralmente prefiro os módulos compactados, pois eles são mais propensos a serem corrigidos regularmente. Se você quer construir a partir do código-fonte, considere baixar o pacote de compilação e substituir o tar de origem pelo seu próprio.

    
por 07.09.2016 / 05:37