linux 限制文件夹大小
Loopback 设备是 linux 中的一个可以用来像其他媒体设
备一样的虚拟设备。媒体设备的例子像硬盘分区,例如
/dev/had1,/dev/had2,dev/sda1 ,或者像 /dev/fd0 软盘分区 样的整个磁盘。这些设备全部都可以用来储存文件以及目录。
它们可以被 格 式化成需要的文件 格 式( ext2fs, msdos, ntfs 等)然后被 mount 。
Loopback 文件系统就是把一个文件和另外的一个文件系统 联系起来, 就像一个完整文件系统一样。 它可以被 格
式化和 mount 成以上所提到过的文件系统。 这样, 这些设备 就被称为 /dev/loop0 或者 /dev/loop1 ,然后和文件产生联系, 然后这个虚拟设备被 mount 。
方法
你可以用 dd 命令创建一个你需要限制的最大字节数的文件 然后用该文件创建 loopback 设备,然后将该设备挂接到你 需要限制的目录就行了
#dd if=/dev/zero of=/mnt/point1/file.img bs=1k count=1000
#losetup /dev/loop1 /mnt/point1/file.img
#mkfs -t ext3 /dev/loop1 1000
#mkdir /mnt/point2
#mount -t ext3 /dev/loop1 /mnt/point2
方法二
定期执行限制文件夹容量的脚本
#!/bin/bash ls -1 /data > /file df=$(cat file) for file in $df
do size=$(/usr/bin/du -sk /data/$file |/bin/cut -f1) while [ 1024 -lt $size ] do
chmod -R 400 /data//data/$file
exit done done
方法三 先使用 quota 限制某一使用者或群组最大磁盘配额然后以创 建链接的方式限制文件夹的大小
1. 开启磁盘的 quota 功能:编辑 /etc/fstab ,使得准备要开 放的 quota 磁盘可以支持 quota ;
2. 预扫瞄磁盘的使用情况:使用 quotacheck 来扫瞄一下我 们要使用的磁盘;
3. 建立使用者的 quota :使用 edquota 来编辑每个使用者或 群组的可使用空间 ;
4. 启动 quota :使用 quotaon
5.依据不同的使用者与群组来设定
5.依据不同的使用者与群组来设定
quota 然后创建链接
开启磁盘的 quota 功能:
#vi /etc/fstab
ext3/dev/hda1
ext3
defaults
/dev/hda2swapswap
/dev/hda2
swap
swap
defaults
/dev/hdb1/backupext3
/dev/hdb1
/backup
ext3
defaults
/dev/hdb2/homeext3
/dev/hdb2
/home
ext3
defaults,usrquota,grpquota 1 1
来驱动设定 值(1) 重新开机 ==>reboot
来驱动设定 值
(2) 重新 remount filesystem
# umount /dev/hdb2
# mount -a
或者
#mount -a -o remount <==这个指令可以重新将
#mount -a -o remount <==
这个指令可以重新将 /etc/fstab
扫瞄磁盘的使用者使用状况,并产生重要的
扫瞄磁盘的使用者使用状况,
并产生重要的 aquota.group
与 aquota.user :
#quotacheck -avug quotacheck: Scanning /dev/hdb2 [/home] done
Linux 版本中quotacheck: Checked 10 directories and 22
Linux 版本中
,我不能够以 aquota.user(group) 来启动我的
quota ,建立连接 quota.user(group) #ln -s aquota.group quota.group
#ln -s aquota.user quota.user
启动 quota 的限额 : #quotaon -av
编辑使用者的可使用空间:
#edquota -u test
Disk quotas for user test (uid 501):
Filesystemblockssofthardinod