я использую rsync
для резервного копирования двух папок на один и тот же целевой диск в ночном задании cron:
rsync -avz /very/important/data /Backup/VID/
rsync -avz /other/stuff /Backup/tmp/
Первое задание создает резервные копии более важных данных, чем второе (например, почтовый ящик или коллекция фильмов), поэтому я хочу убедиться, что это задание выполнено успешно. Также первое задание имеет намного меньший объем данных, чем первое.
Теперь при заполнении диска возникают проблемы:
Поэтому мне было интересно, как ограничить доступное (целевое) дисковое пространство для второго задания rsync: если бы я мог сказать второму заданию, что было (скажем) на 3 ГБ меньше доступного места, оно вышло бы раньше и оставило бы место для следующего важного задания день.
Первая идея - создать большой временный файл на резервном диске (после завершения первого задания, перед запуском второго) и удалить этот файл после завершения второго задания (и до следующего раунда).
Теперь я бы хотел избежать этого, так как резервный диск на самом деле является монтируемым по NFS, и создание на этом устройстве фиктивных файлов в ГБ просто для сохранения свободного места происходит довольно медленно.
клиентская система:
1:1.2.8-9
3.16.0-4-amd64
У меня нет доступа к NFS-серверу.
Поскольку вы упомянули об использовании nfs, я думаю, что использование квот nfs может быть самым простым решением.
отредактируйте свой /etc/fstab
чтобы ограничить размер точек монтирования неважных данных, например:
<server>:</remote/export> /BACKUP/other/mnt auto rw,noauto,user,usrquota 0 0
Ключ должен добавить usrquota
немного к параметрам крепления
И следуйте руководству здесь: https://en.wikibooks.org/wiki/LPI_Linux_Certification/Managing_Disk_Quota
Есть много руководств о том, как это сделать, если этого короткого вступления недостаточно. https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/3/html/System_Administration_Guide/ch-disk-quotas.html