LINUX.ORG.RU
ФорумAdmin

Как заставить Rsync копировать без SSH

 


0

2

Как отучить Rsync от использования SSH при копировании по сети.
В доках пишется, что он использует SSH по-умолчанию - как избавиться от этого гребаного умолчания и перейти на родной порт Rsync = 873 ?

Сервер поднят на 192.168.1.200
Запускаю на клиенте команду без ключа -e для копирование видеофайлов с сервера :

 rsync -av chukcha@192.168.1.200:/home/share/Video/    /home/chukcha/ 
но она все равно копирует по SSH .... :-(

★★★★★

Первая ссылка в гугле

По умолчанию rsync попытается использовать транспорт ssh. Если вы хотите использовать ранее созданный сервер rsync, нужно указать это явно:

rsync -avz /home/sergiy/tmp/ rsync://192.168.56.102:/share

Точно также можно синхронизировать файлы с rsync из удаленного сервера:

rsync -avz root@192.168.56.102:/home/ /home/sergiy/tmp/

Но можно спросить, а чем через ссш не устраивает?

julixs ★★★
()
Ответ на: комментарий от julixs

Первая ссылка в гугле

Эту ссылку уже и мусолю полдня, но что-то совсем туплю, не соображу никак ....

SSH — Atom не вытягивает, скорость падает вместо 100 до 20 Mbps
Поэтому и ключик z не подходит.

Если нетрудно, перепишите мой пример правильно, а то сегодня совсем не соображаю.



Кстати! То, что сделал я, ничем не отличается от «первой ссылке в гугле».

Так что просьба не футболить по гуглам, а подправить мой случай

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 2)
Ответ на: комментарий от vvviperrr

смотри свой rsyncd.conf
не забудь rsyncd стартануть

А чего там смотреть? Я его настроил, и демон запусил иначе как у меня уже копируется по ssh

синтакис вызова такой: rsync -av ipaddr::mydir /tmp/target

А вот этот синтаксис уже поинтересней, чем «Первая ссылка в uугле», поскольку в нем используется двойное двоеточие - ::

Но все равно пока не выходит малахитовый цветок, выдается ошибка:

ERROR: The remote path must start with a module name not a /
rsync error: error starting client-server protocol (code 5) at main.c(1503) [receiver=3.0.6]

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

А чего там смотреть? Я его настроил, и демон запусил иначе как у меня уже копируется по ssh

при копировании по ssh демон rsyncd не используется

ERROR: The remote path must start with a module name not a /

при таком синтаксисе ты указываешь не путь, а имя ресурса, который описан в rsyncd.conf

[mydir]
        path = /mnt/data
        comment = some stuff

либо используй синтаксис как показали выше - rsync://

vvviperrr ★★★★★
()
Ответ на: комментарий от vvviperrr

либо используй синтаксис как показали выше - rsync://

Имхо, это «либо» более универсальное, потому что не нужно для разных ситуаций переделывать rsyncd.conf, так ведь?

Но весь прикол в том, что мой пример принципиально не отличается от «синтаксиса выше», сравните сами:

rsync -av chukcha@192.168.1.200:/home/share/Video/    /home/chukcha/
rsync -avz root@192.168.56.102:/home/                 /home/sergiy/tmp/
Но что толку? Копирование, как уже говорил, идет по SSH!

chukcha ★★★★★
() автор топика
Ответ на: комментарий от nerve

Хорошо, хорошо, я уже заметил свою ошибку (вписал chukcha@, а надо rsync:// )

Выполнил в точности по-вашему:

rsync -av rsync://192.168.1.200:/home/share/Video/    /home/chukcha/
но вылетает ошибка
@ERROR: Unknown module 'home'
rsync error: error starting client-server protocol (code 5) at main.c(1503) [receiver=3.0.6]


В логах вот такая хрень:
2022/08/23 00:44:40 [30801] name lookup failed for 192.168.1.222: Name or service not known
2022/08/23 00:44:40 [30801] connect from UNKNOWN (192.168.1.222)
2022/08/23 00:44:40 [30801] unknown module 'home' tried from UNKNOWN (192.168.1.222)

chukcha ★★★★★
() автор топика
Последнее исправление: chukcha (всего исправлений: 2)
Ответ на: комментарий от gag

А кусок с таргетом зачем откусили? :=)

Значит, по вашему нужно так?

rsync -av rsync://192.168.1.200/home/share/Video/    /home/chukcha/
Ок, выполняю - и получаю:
@ERROR: Unknown module 'home'
rsync error: error starting client-server protocol (code 5) at main.c(1503) [receiver=3.0.6]
Т.е. ничего не изменилось.

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

Значит, и используя rsync:// необходимо прописать в rsyncd.conf «модуль», как сказали выше.

[sv]
   path = /home/share
   comment = some stuff
rsync -av rsync://192.168.1.200/sv/Video    /home/chukcha/

P.S. rsync очень чувствителен к слешу после последнего каталога. Если его нет - копируется, как и ожидается, каталог, а вот если его указать, то копируется только содержимое.

gag ★★★★★
()
Последнее исправление: gag (всего исправлений: 1)
Ответ на: комментарий от gag

gag
Хотелось бы без прописывания path = /home/shar в конфиге, но раз без это пока не получается, хусим, прописал.

Теперь оно хотя бы запрашивает пароль - чей?
Попробовал прописать от chukcha на сервере - получаю ошибку:

@ERROR: auth failed on module share
Что за пароль оно спрашивает?


Монтируй удаленный каталог через nfs, smb и используй rsync без всяких ssh.

Извиняюсь, но не хотелось бы к Rsync еще и это нагромождение. Чем проще, тем надежнее.

chukcha ★★★★★
() автор топика
Ответ на: комментарий от gag

У меня строка

# secrets file = /etc/rsyncd.scrt
тоже была закомментирована, но команда c rsync почему-то все равно требовала пароль.
Поскольку не знал, какой, расскоментировал эту строку и создал файл /etc/rsyncd.scrt в который поместил

backup:12345

Теперь при запуске команды с rsync ввожу этот пароль - а фигушки, та же хрень!
Password: 
@ERROR: auth failed on module share
rsync error: error starting client-server protocol (code 5) at main.c(1503) [receiver=3.0.6]

Сколько лет уже вожусь с этим rsync, и все равно остается полно загадок...

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

И вот, вроде начало получатся :=)
Как продвинусь дальше, сообщу о результатах.

------------------

Теперь зачем мне это все надо:

Есть старый комп, на Атоме-510, из которого хочу соорудить бекап-сервер.
Однако ввиду своей древности SSH он не тянет ни в какую - слишком слаб, и скорость по SSH падает со 100 до 20 Mbps.
Поэтому пытаюсь настроить бекап чисто по Rsync без SSH и прочих оболочек.

Логика работы бекап-сервера - в режиме «подскока», т.е.:
- десктоп, который нужно бекапировать, в дневное время обычно включен;
- бекар-сервер должен, например, в обед, в 13:00 включиться (задается в BIOS), выгрести с десктопа изменившиеся файлы и выключиться.

Если такое получится, тогда попробую перейти на Rsnapshot, который как раз и базируется на Rsync.

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

Однако ввиду своей древности SSH он не тянет ни в какую - слишком слаб, и скорость по SSH падает со 100 до 20 Mbps.

А если поиграть с типом шифра? Раньше arcfour было удобно использовать, сейчас вроде выкинули, но может что на замену есть.

YAR ★★★★★
()
Ответ на: комментарий от Dimez

А если поиграть с типом шифра?

Тогда надо не просто поиграть, а вообще его выкинуть, но не знаю как.
Но такое решение тоже плохо, ведь с десктопа приходится связываться с удаленными серверами, а для них нужен полноценный SSH.

Прямо в самом начале man rsync указано двойное двоеточие (double colon).

Прежде чем сюда обратиться, начитался манов до одурения. Ваше двойное двоеточие тоже не сработало, см. выше.
Но в конце-концов добился желаемого результата!

Вот она, волшебная строка :=)

$ time rsync --progress -av rsync://192.168.1.200/share/Video   /home/chukcha/

и соответственно серверный конфиг для нее:
max connections = 5
exclude = lost+found/
dont compress   = *
[share]
path = /home/chukcha/
read only = yes
hosts allow = 192.168.1.222
hosts deny = *
list = yes
uid = root
gid = root
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsync.log
# auth users = backup
# secrets file = /etc/rsyncd.scrt

----------
И что в результате получил:

- если раньше на Атоме, т.е. на клиентском компьютере, его ядра на процессе SSHD захлебывались вплоть до 80-100%, а скорость копирования по сети не поднималась выше 20 МБайт/с,
- то теперь процесс rsync отбирает всего 12-16%, т.е. проц отдыхает, а скорость соответственно держится в пределах 70-80 МБайт/с.
Такой результат меня устроил более чем. Поэтому запустил бекапирование в 5 потоков, и оно жужжит, аж деревья гнутся :=)

Всем, кто помог разобраться в этом хитроумном вопросе - преогромное спасиба! :=)

PS. Хотя это еще не все, есть еще некоторые интересные соображения.

chukcha ★★★★★
() автор топика
Ответ на: комментарий от chukcha

Хотя какое-то время процесс rsync начинает отбирать и до 100%.
Не знаю, с чем это связано.

Больше 20 лет у всех работает, Больше 20 лет у всех работает, а у тебя не работает.

Моя недоработка. Ок, какие преимущества может дать вариант с «двойным двоеточием»?

chukcha ★★★★★
() автор топика
Ответ на: комментарий от zolden

zolden
Попробовал первый вариант -

rsync -aHAXxv --numeric-ids --delete --progress -e "ssh -T -c arcfour -o Compression=no -x" user@<source>:<source_dir> <dest_dir>
но CentOS ругнулся на нехватку этого самого arcfour -
no matching cipher found: client arcfour server chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: unexplained error (code 255) at io.c(600) [receiver=3.0.6]
В его репах его не оказалось, на этом все и закончилось. так что сорри.

chukcha ★★★★★
() автор топика