Мы переносим файлы из локальной системы (Windows) в удаленную систему (Unix). На нескольких установках мы получаем код ошибки # 13. Страница man говорит, что это Errors with program diagnostics .

В наших системах мы знаем, что одной из возможных причин являются права доступа к каталогу на удаленном сервере, а другая причина в том, что порт 873 не открыт.

Есть ли определенный способ определить причину ошибки? Можно ли проверить наличие порта, сначала вернуть ошибку, если она обнаружена, а затем начать передачу?

Я думаю, что rsync будет иметь более детальные коды ошибок, особенно когда речь идет о реальном соединении.

1 ответ1

0

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

  1. Сервер отвечает правильно в течение двух секунд

    $ rsync --contimeout=2 remoteserver::
    SHARE1          We store stuff here
    SHARE2          we store other stuff here
    $ echo $?
    0
    
  2. На сервере не запущен демон rsync

    $ rsync --contimeout=2 remoteserver::
    rsync: failed to connect to remoteserver (10.10.10.10): Connection refused (111)
    rsync error: error in socket IO (code 10) at clientserver.c(125) [Receiver=3.1.2]
    $ echo $?
    10
    
  3. Сервер не отвечает в течение двух секунд

    $ rsync --contimeout=2 remoteserver::
    rsync error: timeout waiting for daemon connection (code 35) at socket.c(281) [Receiver=3.1.2]
    $ echo $?
    35
    

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .