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

временный сбой rsync в разрешении имен при попытке использовать rsyncd

Я пытался использовать rsyncd для передачи проектов с клиента на сервер (операция push). rsync (3.1.2) установлены и работают как на клиенте, так и на сервере, при этом сервер работает rsyncd. В rsyncd.conf как следует,

pid file = /run/rsyncd.pid
strict mode = false

log file = /var/log/rsync.log

[dir1]
comment = test folder dir1
path = /opt/dir1/
uid = user_name
gid = group_name
read_only = false

когда я попробовал следующую команду,

rsync -aurv /path/to/dir1/ user@host_name::dir1

У меня следующие ошибки:

rsync: getaddrinfo: host_name 873: Temporary failure in name resolution
rsync error: error in socket IO (code 10) at clientserver.c(125) [sender=3.1.2]

Клиент и конечный сервер связаны через сервер-бастион. Нет проблем, если я просто попробую,

rsync -aurv /path/to/dir1/ user@host_name:/path/to/dir1

Интересно, как исправить ошибки.

ура

Ваша ошибка в том, что поиск DNS для host_name не работает, о чем вам сообщает ошибка:

getaddrinfo: ... failure in name resolution

Чтобы исправить это, вы можете обновить свою команду, чтобы вместо этого использовать IP-адрес, либо:

rsync -aurv /path/to/dir1/ user@1.2.3.4::dir1

или для IPv6:

rsync -aurv /path/to/dir1/ user@[fe80::1]::dir1

Если вы не можете добавить запись в /etc/hosts чтобы разрешить имя или иным образом исправить проблемы с DNS.

Если вы используете ssh для своего транспорта rsync, вы не используете rsyncd для завершения удаленного соединения (что является ссылкой на TCP 873). Otoh, если вы просто используете отдельный туннель ssh для перенаправления TCP 873 через сервер rsyncd внутри, тогда ваш клиент rsync фактически будет подключаться к localhost, и ssh будет пересылать.

Синтаксис с двойным двоеточием указывает собственный протокол rsync (или rsync: //). Без этого он будет использовать транспортный метод rsh / ssh.