Хорошо, у меня есть это в fstab
//windows_mashine/Backup /backups cifs credentials=/root/.credentials,rw,_netdev,iocharset=utf8,uid=1000 0 0
У меня есть rsnapshot в моем cron, который создает резервные копии / etc / и / usr / local / и некоторые другие файлы в / backups
Недавно я обнаружил, что, когда другая машина не работает и / резервные копии не могут быть смонтированы, резервные копии rsnapshot в физическую папку / резервные копии, таким образом, съедают раздел / пространство. Как мне этого избежать?
Могу ли я предотвратить любую запись в / backups, когда он не смонтирован (rsnapshot запускается от имени пользователя root, так как ему необходимо сделать резервную копию некоторых системных файлов)
Другой вариант - сделать каталог неизменным. Для этого вам нужно выполнить следующую команду с отключенной точкой монтирования.
chattr +i /backups
Я делаю это в любом каталоге, который предназначен только для точки монтирования, чтобы предотвратить подобные вещи. Потому что бывают ситуации, когда вы не можете добавить проверку, чтобы увидеть, смонтировано ли что-то. Например, если процесс не является сценарием, который вы контролируете, или это человек, который генерирует или перемещает данные. Такой подход предотвратит запись нежелательных данных в несмонтированную точку монтирования в таких ситуациях. Я бы все же добавил проверку монтирования в ваши скрипты, чтобы вы могли выводить значимые ошибки.
Почему бы просто не проверить сценарий резервного копирования, смонтирован ли / backups, и выйти, если нет?
mount | grep -q /backups || exit 1
Самый простой способ справиться с этим - напрямую использовать rsnapshot.
Вам стоит взглянуть на вариант no_create_root
HTH