1

Я использую rsync для зеркалирования своего жесткого диска на пару устройств с cron.

Команда по сути это:

rsync -avr --delete /home/username username@example.com:/home/username

У меня проблема в том, что некоторые из каталогов в структуре находятся на отдельных дисках. Например, /home /username /portable - это USB-накопитель. В результате, если задание cron запускается при размонтировании этой файловой системы, большой объем данных удаляется из зеркала, а затем его необходимо повторно скопировать при следующем запуске с подключенным диском. Это отнимает много времени, и, конечно, я предполагаю, что когда мне нужно восстановить с зеркала, это будет сразу после того, как это произошло!

Кто-нибудь может предложить хороший способ борьбы с этой проблемой? Я ценю, что двумя возможными способами было бы

  1. Устройство монтируется с помощью grep'ing df или аналогичного; или же
  2. Целевой каталог не имеет содержимого, запустив du /home /username /portable или аналогичный.

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

Что меня особенно удивило, так это есть ли способ заставить rsync проверить, сколько данных будет удалено с удаленного диска, запустив --delete? Таким образом, скрипт cron можно настроить так, чтобы он требовал ручного вмешательства, если, скажем, будет удалено более 1 ГБ. Поэтому он обеспечит проверку работоспособности на случай крупной случайной потери данных.

Я просмотрел руководство, но не вижу прямого способа сделать это. Кто-нибудь может помочь?

Спасибо!

0