分享

linux限制文件夹大小

 昵称6656145 2015-02-04

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.依据不同的使用者与群组来设定quota然后创建链接

开启磁盘的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)重新开机==>reboot;也可以选择

(2)重新 remount filesystem 来驱动设定值

# umount /dev/hdb2

# mount -a

或者

#mount -a -o remount <==这个指令可以重新将 /etc/fstab

扫瞄磁盘的使用者使用状况,并产生重要的aquota.group与aquota.user:

#quotacheck -avug

quotacheck: Scanning /dev/hdb2 [/home] done

quotacheck: Checked 10 directories and 22 files

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):

Filesystem         blocks       soft       hard     inodes     soft     hard

/dev/hdb2              32     40000       50000          8        0        0

#edquota -p test test2 \\将这个设定同时复制给 test2

#edquota -t \\设定宽限时间

#quota –vu test test2 \\查询一下是否真的有设定进去

设定开机时启动:

#vi /etc/rc.d/rc.local

/sbin/quotaon -au

创建链接:

ln -s /home/test /var/www/

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多