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 для борьбы с этой ошибкой stdin, но это вызывает исключение памяти 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).
1 ответ
Проблема в том, что на вашем сервере запущена Bash как оболочка, а не rdiff-backup --server
(что бы понять его 'oh(crdiff_backup.connection'
команд). Решение для меня:
- Измените remote-схему, чтобы включить команду, т.е.
ssh -C %s -p 24752 rdiff-backup --server
- Установите принудительную команду ssh на удаленной стороне в
rdiff-backup --server
(что также немного безопаснее, если вы используете его в скрипте).