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

остановка rsync до заполнения файловой системы

Я хотел бы реализовать rsync, который должен останавливаться, если свободное пространство целевой файловой системы упадет до менее 10 ГБ, и мне интересно, как лучше всего это сделать?

Я использую Linux RedHat 5.2

Быстрое и грязное решение может заключаться в запуске процесса, который будет зацикливаться каждую секунду, проверять свободное пространство и, соответственно, убивать rsync, но я думаю, это действительно плохо.

Вы знаете, как это сделать лучше? Может, я что-то упускаю, но у rsync такой возможности нет.

И последнее: я не только rsync, если существует другое программное обеспечение и делаю то же самое с такой опцией, я могу изменить.

Большое спасибо за вашу помощь Реми

Один из способов сделать это:

  • на клиенте сначала выполните пробный прогон и извлеките предполагаемый размер передачи из его вывода.
  • на клиенте передайте это число как-нибудь удаленному rsync; в --checksum-seed вариант может работать
  • на сервере, pre-xfer exec извлекает это число из RSYNC_ARG* переменных, проверяет доступное пространство и отклоняет всю передачу, если ее недостаточно.