Необъяснимая ошибка rsync (код 255) в io.c
Я использовал скрипт для выполнения rsync в sudo crontab
, Сценарий выполняет двухстороннюю rsync (от сервера A к серверу B и обратно). После перезагрузки обоих серверов сервер rsync не работает sudo crontab
, Я также установил новый cronjob, и он не работает, ошибка:
rsync error: unexplained error (code 255) at io.c(600) [sender=3.0.6]
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
Однако при запуске из терминала скрипт rync работает без проблем. пожалуйста помоги.
5 ответов
Одна из причин rsync
неожиданно закрытое соединение является проблемой тайм-аута, особенно когда требуется некоторое время для вычисления контрольных сумм файлов, чтобы проверить различия на удаленном хосте.
Чтобы избежать этой проблемы, вам нужно добавить эти настройки в свой ~/.ssh/config
или же /etc/ssh/ssh_config
:
Host *
ServerAliveInterval 30
ServerAliveCountMax 6
и опционально похоже на удаленный сервер (в /etc/ssh/sshd_config
), например
ClientAliveInterval 30
ClientAliveCountMax 6
Смотрите: какие варианты ServerAliveInterval
а также ClientAliveInterval
имею в виду?
Немного трудно ответить, учитывая почти полное отсутствие соответствующей информации, но, как правило, если команда работает из приглашения, а не из задания cron, это потому, что вам нужно указать полный путь к команде (ям). Задания Cron не имеют нормальной пользовательской среды, что особенно означает, что они не имеют такой же PATH, как у обычных пользователей.
Это происходит, когда в соединении отказано:
SSH: подключиться к хост-порту 2222: соединение отказано
с последующим rsync
ошибка:
rsync: соединение неожиданно закрыто (получено 0 байтов) [получатель] ошибка rsync: необъяснимая ошибка (код 255) в /SourceCache/rsync/rsync-45/rsync/io.c(453) [получатель =2.6.9]
Возможные причины:
- В моем сценарии у меня была проблема с брандмауэром. Пробил дыру.
- неверный пароль (вряд ли решит вашу проблему, но вызовет ту же ошибку)
У меня тоже есть подобные проблемы, когда я отправлял примерно 50 ГБ данных через локальную сеть с помощью команды
rsync -avhPW --progress . user@192.168.1.233:/path/to/target
Труба несколько раз ломалась, но первые несколько раз мне удавалось просто перезапустить команду. Однако примерно через 20 часов команда перестала работать из-за необъяснимой ошибки.rsync
даже не вычислил список файлов на рассмотрение. Это также не проблема тайм-аута — целевая машина так и не получила запрос. В итоге я перезагрузил исходную машину. Это заставило rsync снова работать.
Пожалуйста, посмотрите на ваш список fail2ban.
используйте команду: "fail2ban-client set YOURJAILNAMEHERE unbanip IPADDRESSHERE", чтобы разблокировать его и повторить попытку.