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

rsync неожиданно завершает работу через некоторое время

Я управляю rsync команда с nohup в сеансе ssh, но через некоторое время он возвращает эту ошибку:

rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(549) [generator=3.0.9]
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(549) [receiver=3.0.9]

Я не убивал этот процесс сам, я думаю, что нет другого процесса, который убивает этот процесс. Также я запускаю его на переднем плане с помощью nohup. я использую nohup поскольку по какой-либо причине сеанс ssh прерван, rsync процесс не завершается.

Что вызывает прекращение?

Операционная система - Debian Wheezy.

Это старый вопрос с ограниченной информацией, но я думаю, что то, что происходит, не является проблемой rsync (поскольку rsync сам по себе не sigkill).

Я столкнулся с аналогичной проблемой, которая оказалась проблемой памяти. Управление нехваткой памяти в ядре определяет, какой процесс уничтожить, глядя на количество используемой виртуальной памяти, разделенное на общее время работы.

Rsync может потреблять много памяти в зависимости от размера и количества передаваемых файлов, и у него будет низкое значение времени выполнения. Это увеличивает его оценку, когда ядро ​​вызывает select_bad_process ().

После запуска rsync проверьте использование памяти с помощью простого скрипта, который регистрирует использование памяти rsync:

while [ 1 ]; do
  pidstat -r -G rsync >> stat.log
  free >> stat.log
done

Также проверьте dmesg в то время, когда rsync умирает, если есть ошибки OOM, вы их увидите.