linux限制文件夹大小
Loopback设备是linux中的一个可以用来像其他媒体设备一样的虚拟设备。媒体设备的例子像硬盘分区,例如/dev/had1,/dev/had2,dev/sda1,或者像/dev/fd0软盘分区一样的整个磁盘。这些设备全部都可以用来储存文件以及目录。它们可以被格式化成需要的文件格式(ext2fs,msdos,ntfs等)然后被mount。
Loopback文件系统就是把一个文件和另外的一个文件系统联系起来,就像一个完整文件系统一样。它可以被格式化和mount成以上所提到过的文件系统。这样,这些设备就被称为/dev/loop0或者/dev/loop1,然后和文件产生联系,然后这个虚拟设备被mount。
方法一
你可以用dd命令创建一个你需要限制的最大字节数的文件
然后用该文件创建loopback设备,然后将该设备挂接到你需要限制的目录就行了
#ddif=/dev/zeroof=/mnt/point1/file.imgbs=1kcount=1000
#losetup/dev/loop1/mnt/point1/file.img
#mkfs-text3/dev/loop11000
#mkdir/mnt/point2
#mount-text3/dev/loop1/mnt/point2
方法二
定期执行限制文件夹容量的脚本
#!/bin/bash
ls-1/data>/file
df=$(catfile)
forfilein$df
do
size=$(/usr/bin/du-sk/data/$file|/bin/cut-f1)
while[1024-lt$size]do
chmod-R400/data//data/$file
exit
done
done
方法三
先使用quota限制某一使用者或群组最大磁盘配额然后以创建链接的方式限制文件夹的大小
1.开启磁盘的quota功能:编辑/etc/fstab,使得准备要开放的quota磁盘可以支持quota;
2.预扫瞄磁盘的使用情况:使用quotacheck来扫瞄一下我们要使用的磁盘;
3.建立使用者的quota:使用edquota来编辑每个使用者或群组的可使用空间;
4.启动quota:使用quotaon
5.依据不同的使用者与群组来设定quota然后创建链接
开启磁盘的quota功能:
#vi/etc/fstab
/dev/hda1/ext3defaults11
/dev/hda2swapswapdefaults00
/dev/hdb1/backupext3defaults11
/dev/hdb2/homeext3defaults,usrquota,grpquota11
(1)重新开机==>reboot;也可以选择
(2)重新remountfilesystem来驱动设定值
#umount/dev/hdb2
#mount-a
或者
#mount-a-oremount<==这个指令可以重新将/etc/fstab
扫瞄磁盘的使用者使用状况,并产生重要的aquota.group与aquota.user:
#quotacheck-avug
quotacheck:Scanning/dev/hdb2[/home]done
quotacheck:Checked10directoriesand22files
Linux版本中,我不能够以aquota.user(group)来启动我的quota,建立连接quota.user(group)
#ln-saquota.groupquota.group
#ln-saquota.userquota.user
启动quota的限额:
#quotaon-av
编辑使用者的可使用空间:
#edquota–utest
Diskquotasforusertest(uid501):
Filesystemblockssofthardinodessofthard
/dev/hdb2324000050000800
#edquota-ptesttest2\\将这个设定同时复制给test2
#edquota-t\\设定宽限时间
#quota–vutesttest2\\查询一下是否真的有设定进去
设定开机时启动:
#vi/etc/rc.d/rc.local
/sbin/quotaon-au
创建链接:
ln-s/home/test/var/www/