Loopback設(shè)備是linux中的一個(gè)可以用來(lái)像其他媒體設(shè)備一樣的虛擬設(shè)備。媒體設(shè)備的例子像硬盤分區(qū),例如/dev/had1,/dev/had2,dev/sda1,或者像/dev/fd0軟盤分區(qū)一樣的整個(gè)磁盤。這些設(shè)備全部都可以用來(lái)儲(chǔ)存文件以及目錄。它們可以被格式化成需要的文件格式(ext2fs, msdos, ntfs等)然后被mount。
Loopback文件系統(tǒng)就是把一個(gè)文件和另外的一個(gè)文件系統(tǒng)聯(lián)系起來(lái),就像一個(gè)完整文件系統(tǒng)一樣。它可以被格式化和mount成以上所提到過(guò)的文件系統(tǒng)。這樣,這些設(shè)備就被稱為/dev/loop0或者/dev/loop1,然后和文件產(chǎn)生聯(lián)系,然后這個(gè)虛擬設(shè)備被mount。
方法一
你可以用dd命令創(chuàng)建一個(gè)你需要限制的最大字節(jié)數(shù)的文件
然后用該文件創(chuàng)建loopback設(shè)備,然后將該設(shè)備掛接到你需要限制的目錄就行了
#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
方法二
定期執(zhí)行限制文件夾容量的腳本
#!/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限制某一使用者或群組最大磁盤配額然后以創(chuàng)建鏈接的方式限制文件夾的大小
1.開(kāi)啟磁盤的 quota 功能:編輯/etc/fstab ,使得準(zhǔn)備要開(kāi)放的 quota 磁盤可以支持 quota;
2.預(yù)掃瞄磁盤的使用情況:使用quotacheck 來(lái)掃瞄一下我們要使用的磁盤;
3.建立使用者的quota :使用edquota 來(lái)編輯每個(gè)使用者或群組的可使用空間;
4.啟動(dòng)quota:使用quotaon
5.依據(jù)不同的使用者與群組來(lái)設(shè)定quota然后創(chuàng)建鏈接
開(kāi)啟磁盤的quota功能:
#vi /etc/fstab
/dev/hda1 / ext3 defaults 1 1
/dev/hda2 swap swap defaults 0 0
/dev/hdb1 /backup ext3 defaults 1 1
/dev/hdb2 /home ext3 defaults,usrquota,grpquota 1 1
(1)重新開(kāi)機(jī)==>reboot;也可以選擇
(2)重新 remount filesystem 來(lái)驅(qū)動(dòng)設(shè)定值
# umount /dev/hdb2
# mount -a
或者
#mount -a -o remount <==這個(gè)指令可以重新將 /etc/fstab
掃瞄磁盤的使用者使用狀況,并產(chǎn)生重要的aquota.group與aquota.user:
#quotacheck -avug
quotacheck: Scanning /dev/hdb2 [/home] done
quotacheck: Checked 10 directories and 22 files
Linux 版本中,我不能夠以 aquota.user(group)來(lái)啟動(dòng)我的quota ,建立連接quota.user(group)
#ln -s aquota.group quota.group
#ln -s aquota.user quota.user
啟動(dòng) quota 的限額:
#quotaon -av
編輯使用者的可使用空間:
#edquota –u test
Disk quotas for user test (uid 501):
Filesystem blocks soft hard inodes soft hard
/dev/hdb2 32 40000 50000 8 0 0
#edquota -p test test2 \\將這個(gè)設(shè)定同時(shí)復(fù)制給 test2
#edquota -t \\設(shè)定寬限時(shí)間
#quota –vu test test2 \\查詢一下是否真的有設(shè)定進(jìn)去
設(shè)定開(kāi)機(jī)時(shí)啟動(dòng):
#vi /etc/rc.d/rc.local
/sbin/quotaon -au
創(chuàng)建鏈接:
ln -s /home/test /var/www/
聯(lián)系客服