1

У меня есть удаленные станции, которые собирают данные от датчиков (ARM Debian) и передают наборы данных (около 1,1 МБ) каждые 15 минут (сервер заполнен Debian). На одной станции прием GSM слабый, и стандартные передачи scp часто прерываются и должны начинаться с начала.

Сейчас я пытаюсь rsync. На станцию я ссылалась:

rsync --partial --remove-source-files --progress --rsh=ssh -z FILE root@SERVER:/DIR/

Через несколько минут файл появился на сервере. (возможно ли увидеть текущий статус передачи на принимающем сервере - файл появился после завершения передачи?)

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

1 ответ1

1

Rsync завершает работу с ненулевым кодом выхода, если передача не завершена. Если вы используете bash или подобную оболочку, простым решением будет запустить его следующим образом:

until rsync --partial --etc
do
    sleep 1
    echo trying again
done

Это будет повторять запуск rsync до бесконечности, пока это не удастся. Команды внутри блока do...done являются лишь примером. Вы могли бы положить что-то еще там.

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