Назад | Перейти на главную страницу

rdiff-backup не работает, но rsync есть, Mandriva для обеих ОС

У меня есть два сервера, оба Mandriva 2010.2, с точно такой же версией rdiff-backup (1.3.3) и точно такой же rsync. Я довольно давно использовал rdiff-backup в debian, но с тех пор перешел на другую ОС. Когда я сейчас пытаюсь использовать rdiff-backup, я получаю много ошибок. Но подключение через rsync работает отлично.

Как видно ниже:

[root @ localhost var] # rsync --rsh = 'ssh -p24752' -avz -e root@example.com.au: / var / test / var / backup отправка добавочного списка файлов drwxr-xr-x 4096 2012/06 / 22 13:27:38 резервное копирование

отправлено 39 байтов принято 13 байтов 104,00 байт / сек общий размер 0 ускорение 0,00

Но вот что происходит, когда я пытаюсь запустить его через 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).

Когда я копирую и вставляю соединение с ошибкой, используя следующую командную строку, оно сразу работает отлично (пары ключей были настроены)

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

Последний вход: Пт 22 июня 13:39:37 2012 с 203-217-31-220.perm.iinet.net.au

Оба сервера корневые, присутствуют оба набора файлов. Я попробовал команду ssh с '-t -t' для борьбы с этой ошибкой стандартного ввода, но это вызывает исключение памяти python: /.

Есть идеи, как действовать?

РЕДАКТИРОВАТЬ: Также вот что он делает, когда я не использую настраиваемую схему (более или менее то же самое, но порт 22 отказывается от подключения, поскольку мы его не используем: 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).

Проблема в том, что на вашем сервере запущен bash как оболочка, а не rdiff-backup --server (который понял бы его 'oh(crdiff_backup.connection' команды). Решение для меня:

  • Измените удаленную схему, чтобы включить команду, т.е. ssh -C %s -p 24752 rdiff-backup --server
  • Установите принудительную команду ssh на удаленной стороне на rdiff-backup --server (что также немного безопаснее, если вы используете его в скрипте).