在rsync-destination上保留最小可用空间

我正在使用rsync将夜间cron-job中的两个文件夹备份到同一个目标磁盘上:

 rsync -avz /very/important/data /Backup/VID/ rsync -avz /other/stuff /Backup/tmp/ 

第一份工作比第二份备份更重要的数据(例如邮箱和电影collections),所以我想确保这项工作成功。 第一份工作的数据量也比第一份less。

现在,当磁盘满了,我正面临着问题:

  • 星期一晚上:第一个工作成功,但第二个工作完成了磁盘,并最终停止“ 磁盘已满 ”的消息。 没关系(kindof)。
  • 星期二晚上:由于备份磁盘从前一天晚上仍然已满,这次已经是第一个工作失败了。 现在这是不好的

所以我想知道如何限制第二个rsync作业的可用(目标)磁盘空间:如果我可以告诉第二个作业有3GB的可用空间,那么它会提前退出并为下一个重要工作留出空间天。

第一个想法是在备份磁盘上创build一个大的临时文件(第一个作业完成之后,第二个作业完成之前),并在第二个作业完成之后(以及下一轮之前)删除该文件。

现在我想避免这种情况,因为备份磁盘实际上是一个NFS挂载,并且为了保持空间而在该设备上创buildGB文件非常缓慢。

客户系统:

  • Debian / GNU linux 8.2(jessie)
  • nfs-utils 1:1.2.8-9
  • 内核3.16.0-4-amd64

我没有访问NFS服务器。

既然你提到使用nfs,我认为使用nfs配额可能是最简单的solutuion。

编辑/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