Как принудительно остановить rsync, если целевой диск заполнен?

Как принудительно остановить rsync, если целевой диск заполнен?

Я использую rsync (версия 3.1.0 на centos) для выполнения некоторых задач резервного копирования. Я разрабатываю программное обеспечение, которое отслеживает мои процессы rsync, чтобы подогнать конфигурацию резервного копирования под мою бизнес-логику.

Мое программное обеспечение запускает некоторые процессы rsync и анализирует вывод rsync для отправки уведомлений.

Я сталкиваюсь с чем-то странным.

Мой целевой диск заполнен. Мое программное обеспечение запускает резервное копирование rsync на этом диске с помощью следующей команды:

rsync -irlpt --no-perms --stats /src /media/dst/

/media/dst — внешний жесткий диск USB3, смонтированный в fuseblck (NTFS).

/src — это папка, содержащая 50 Гбайт изображений, фильмов и несколько текстовых файлов.

Поскольку этот диск заполнен, я бы хотел, чтобы rsync быстро завершил работу, возвращая ошибку.

Но процесс rsync занимает очень много времени. (Я остановил его вручную через 10 часов). Когда я его остановил, я могу прочитать много трассировки, например, такую:

rsync: mkstemp "/media/dst/.20160518-130315-underwaterposition-VI_GAPS.pos.DIksdT" failed: No space left on device (28)

Для меня это сообщение нормально, так как на устройстве не осталось места.

Итак, мои вопросы:

Почему rsync не останавливается сразу после того, как обнаруживает, что на целевом устройстве не осталось свободного места?

Есть ли способ заставить это поведение произойти?

Связанный контент