2

I have two servers, both Mandriva 2010.2, have exact same version of rdiff-backup(1.3.3) and the exact same rsync. I used to use rdiff-backup quite a bit back in debian, but I've moved over to a different OS since then. When i try and use rdiff-backup now i just get plenty of errors. But connecting via rsync is working perfectly fine.

As seen below:

[root@localhost var]# rsync --rsh='ssh -p24752' -avz -e root@example.com.au:/var/test /var/backup sending incremental file list drwxr-xr-x 4096 2012/06/22 13:27:38 backup

sent 39 bytes received 13 bytes 104.00 bytes/sec total size is 0 speedup is 0.00

But this is what happens when i try and run it via rdiff-backup

[root@localhost var]# rdiff-backup --remote-schema 'ssh -C %s -p 24752' -v9 --print-statistics root@example.com.au::/var/test /var/backup
Fri Jun 22 13:45:20 2012  Using rdiff-backup version 1.3.3
Fri Jun 22 13:45:20 2012  Executing ssh -C root@example.com.au -p 24752
/usr/lib64/python2.6/site-packages/rdiff_backup/SetConnections.py:148: DeprecationWarning: os.popen2 is deprecated.  Use the subprocess module.
  stdin, stdout = os.popen2(remote_cmd)
Fri Jun 22 13:45:20 2012  Client sending (0): ConnectionRequest: Globals.get with 1 arguments
Fri Jun 22 13:45:20 2012  Client sending (0): 'version'
Pseudo-terminal will not be allocated because stdin is not a terminal.
stdin: is not a tty
-bash: line 1: syntax error near unexpected token `crdiff_backup.connection'
-bash: line 1: `oh(crdiff_backup.connection'
Fri Jun 22 13:45:20 2012  Fatal Error: Truncated header string (problem probably originated remotely)

Couldn't start up the remote connection by executing

    ssh -C root@example.com.au -p 24752

Remember that, under the default settings, rdiff-backup must be
installed in the PATH on the remote system.  See the man page for more
information on this.  This message may also be displayed if the remote
version of rdiff-backup is quite different from the local version (1.3.3).

When i copy and paste the connection failed using the following command string, it works perfectly fine straight away (key pairs have been setup)

[root@localhost var]# ssh -C root@example.com.au -p24752

Last login: Fri Jun 22 13:39:37 2012 from 203-217-31-220.perm.iinet.net.au

Both servers are root, both sets of files are present. I tried the ssh command with '-t -t' to combat that stdin error, but that causes a python memory exception :/.

Any ideas on how to proceed?

EDIT: Also here's what it does when i dont use the custom schema (more or less the same, but port 22 refuses connection as we dont use it :P

[root@localhost rdiffinstall]# rdiff-backup  -v9 --print-statistics root@example.com.au::/var/test /var/backup
Fri Jun 22 14:24:06 2012  Using rdiff-backup version 1.2.8
Fri Jun 22 14:24:06 2012  Executing ssh -C root@intranet.qk.com.au rdiff-backup --server
/usr/lib64/python2.6/site-packages/rdiff_backup/SetConnections.py:148: DeprecationWarning: os.popen2 is deprecated.  Use the subprocess module.
  stdin, stdout = os.popen2(remote_cmd)
Fri Jun 22 14:24:06 2012  Client sending (0): ConnectionRequest: Globals.get with 1 arguments
Fri Jun 22 14:24:06 2012  Client sending (0): 'version'
ssh: connect to host example.com.au port 22: Connection refused
Fri Jun 22 14:24:06 2012  Fatal Error: Truncated header string (problem probably originated remotely)

Couldn't start up the remote connection by executing

    ssh -C root@example.com.au rdiff-backup --server

Remember that, under the default settings, rdiff-backup must be
installed in the PATH on the remote system.  See the man page for more
information on this.  This message may also be displayed if the remote
version of rdiff-backup is quite different from the local version (1.2.8).
Mattisdada
  • 57
  • 2
  • 15

1 Answers1

0

The problem is that your server is running bash as shell, instead of rdiff-backup --server (which would understand its 'oh(crdiff_backup.connection' commands). The solution for me is either:

  • Change remote-schema to include the command, i.e. ssh -C %s -p 24752 rdiff-backup --server
  • Set ssh forced command on the remote side to rdiff-backup --server (which is also a bit safer if you're using it in script).
che
  • 679
  • 1
  • 5
  • 13