鸟哥的Linux私房菜——第十八章:磁盘配额quota
视频链接:http://www.bilibili.com/video/av10892470/
磁盘配额quota的意思是给用户进行使用磁盘额度的空间的划分,举个例子,你的百度网盘的使用空间,其他云盘的使用空间。在使用quota这个命令之前,我们需要进行一些操作,首先我们来挂载一个硬盘,先使用fdisk创建一下分区
fdisk /dev/sdb #创建分区咯
然后我就创建了一个主分区sdb1,接下来我们要格式化这个分区,然后挂载它~~
mkfs.ext3 /dev/sdb1 #格式化成ext3
mount /dev/sdb1 /home/jim/test #挂载它到/home/jim/test下面
当然,这里我们最好选择自动挂载,这里多了quota~~
/dev/sdb1 /home/jim/test ext3 defaults,usrquota,grpquota
都全部配置完毕之后,我们就开始我们的quota之旅了
1. 什么是 quota (quota就是给用户分配磁盘配额的)
2. 基本的 quota 指令介绍:/etc/mtab, quota, quotacheck, edquota, quotaon, quotaoff
3. 实作 quota
4. 不更动既有系统的 quota 实例
quota的一般用途
• 针对 WWW server ,例如:每个人的网页空间的容量限制!
• 针对 mail server,例如:每个人的邮件空间限制。
• 针对 file server,例如:每个人最大的可用网络硬盘空间。
我们一直说quota是限制磁盘配额的,那它究竟是怎么限制的呢?
- soft 最低限制容量,可以在宽限的时间内超过这个,但是在宽限时间over之前还是要降下去
- hard 这是绝对不允许超过的容量!
- 宽限时间 超过soft之后,宽限时间就会启动
你可以去/etc/mtab里面看你的磁盘支不支持quota
quota
-u 后面是用户,显示它的quota限制值,不写默认当前执行者
-g 后面是群组,显示群组的quota限制值
-v 显示每个filesystem的quota值
-s 以inode或磁盘容量的限制值来显示
-l 显示目前本机上面的filesystem的quota值
例子一:显示自己的quota限制值
quota -guvs
例子二: 我要看jim的磁盘配额
quota -vs -u jim
quotacheck
-a :扫瞄所有在 /etc/mtab 内,含有 quota 支持的 filesystem,加上此参数后,/mount_point 可不必写,因为扫瞄所有的 filesystem 了嘛!
-u :针对使用者扫瞄档案与目录的使用情况,会建立 aquota.user
-g :针对群组扫瞄档案与目录的使用情况,会建立 aquota.group
-v :显示扫瞄过程的信息;
-M :『强制』进行 quotacheck 的扫瞄。
例子一:对/etc/mtab内,含有quota支持的分区进行扫描
quotacheck -avug
第一次是会出错的,不要担心,因为可能它的文件格式损坏了,这个时候我们就要使用强制的quotacheck命令了
quotacheck -cfmvF vfsv0 /home
这样强制的执行就好了,具体详情请看我的专门写这个问题的博客http://www.cnblogs.com/yunquan/p/6914320.html
edquota
-u :后面接账号名称。可以进入 quota 的编辑画面 (vi) 去设定 username 的限制值;
-g :后面接群组名称。可以进入 quota 的编辑画面 (vi) 去设定 groupname 的限制值;
-t :可以修改恕限时间 (就是超过 quota 的 soft limit 值后,还能使用硬盘的宽限期限)
-p :复制范本。那个 username_demo 为已经存在并且已设定好 quota 的使用者,意义为『将 username_demo 这个人的 quota 限制值复制给 username 』!
例子一:设定jim的quota限制值
edquota -u jim
例子二:讲jim的quota限制值复制给tom用户
edquota -p jim -u tom
例子三:修订宽恕时间
edquota -t
quotaon
-u :针对使用者启动 quota (aquota.user)
-g :针对群组启动 quota (aquota.group)
-v :显示启动过程的相关讯息;
-a :根据 /etc/mtab 内的 filesystem 设定启动有关的 quota ,若不加 -a 的话,则后面就需要加上特定的那个 filesystem 喔!
例子一:启动所有的具有quota的filesystem
quotaon -avug
例子二:仅启动/home里面的user quota设定值
quotaon -uv /home
有时候你打quotaon可能会不成功?那就先quotaoff一下,然后再quotaon
quotaoff
-a :全部的 filesystem 的 quota 都关闭 (根据 /etc/mtab)
-u :仅针对后面接的那个 /mount_point 关闭 user quota
-g :仅针对后面接的那个 /mount_point 关闭 group quota
例子一:
quotaoff -a
ok,那么到这里呢quota的命令我们差不多都学完了,下面我们要来实际的操作一下咯
一、先建立一个群组和俩用户来玩玩
groupadd qgroup
useradd -m -g qgroup quser1
useradd -m -g qgroup quser2
passwd quser1
passwd quser2
二、给filesystem添加quota支持
在 /etc/fstab里面要加上usrquota和qrpquota这样的东东
/dev/sdb1 /home/jim/test ext3 defaults,usrquota,grpquota
写完之后呢,因为quota是读取/etc/mtab这个档案的。而这个档案又必须重启之后才会对fstab文件进行读取,但是我又不想关机怎么办,就这样
mount -o remount /hoem/jim/test
三、扫描磁盘的使用情况,并产生aquota.group和aquota.user这俩文件
使用quotacheck命令,如果不行就强制执行
#执行
quotacheck -avug #如果上面的不行,就强制执行这个
quotacheck -cfmvF vfsv0 /home/jim/test
四、启动quota的限额
使用quotaon,不行的话就quotaoff一下再quotaon
quotaon -auvg
五、编辑使用者的可使用空间
我写quser1的,然后复制给quser2
edquota -u quser1
复制给quser2
edquota -p quser1 quser2
接下来设定宽限时间吧
edquota -t
设定完毕之后嘞我们可以通过quota查看
quota -vu quser1 quser2
六、编辑群组可以使用的空间
#编辑
edquota -g qgroup #查看
quota -vg qgroup
为啥要编辑群组的使用空间?因为啊,人少了没事,人多了你去设定试试?今天张三说空间不够用了,明天李四说空间满了...想想都头大,干脆设定一下群组的空间,让他们自己玩去。只要他们所有人的使用空间不超过群组的hard就行
七、设定开机启动quota
这个没必要呵,因为预设就是开机启动,但是!万一你的电脑出毛病了,那就这样做
vi /etc/rc.d/rc.local #进去
/sbin/quotaon -avug #加上这一行
八、利用repquota显示更完整的quota结果
repquota -av
不更动既有系统的 quota 实例
就是你磁盘配额的时候最好是一块独立的磁盘,那万一你没有把目录设置在一块独立的磁盘上,那该怎么办呢

鸟哥的Linux私房菜——第十八章:磁盘配额quota的更多相关文章
- 鸟哥的Linux私房菜 第十八章、认识系统服务 (daemons)
什么是 daemon 与服务 (service) Linux Daemon (守护进程)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待处理某些事件.它不需要用户输入就能运行 ...
- 鸟哥的linux私房菜——第十六章学习(程序管理与 SELinux 初探)
第十六章.程序管理与 SE Linux 初探 在 Linux 系统当中:"触发任何一个事件时,系统都会将他定义成为一个程序,并且给予这个程序一个 ID ,称为 PID,同时依据启发这个程序的 ...
- 鸟哥的Linux私房菜——第十九章:例行命令的建立
视频链接:http://www.bilibili.com/video/av11008859/ 1. 什么是例行性命令 (分为两种,一种是周期性的,一种是突发性的)1.1 Linux 工作排程的种类: ...
- 鸟哥的Linux私房菜——第十四章:Bash Shell
视频链接:http://www.bilibili.com/video/av10094012/ 本章目录: 1. Bash shell1.1 什么是 shell ? (我们通过shell与Kernel核 ...
- 鸟哥的Linux私房菜——第十二章:档案的压缩与打包
视频链接: 土豆:http://www.tudou.com/programs/view/GncwT0FJKsQ B站(推荐):http://www.bilibili.com/video/av98857 ...
- 鸟哥的linux私房菜——第十二章学习(Shell Scripts)
第十二章 Shell Scripts 1.0).什么是shell scripts? script 是"脚本.剧本"的意思.整句话是说, shell script 是针对 shel ...
- 鸟哥的Linux私房菜——第十六章:学习Shell Scripts
视频链接:http://www.bilibili.com/video/av10565321/ 1. 什么是 Shell Script (shell写的脚本)1.1 干嘛学习 shell s ...
- 鸟哥的Linux私房菜——第十五章:正规表示法
视频链接 B站:http://www.bilibili.com/video/av10364761/ 目录如下 1. 前言:2. 基础正规表示法:2.1 以 grep 撷取字符串 (grep -iv ...
- 《鸟哥的Linux私房菜》笔记——03. 磁盘分区
Everything is a file. 常见硬件对应于 Linux 下的文件(/dev目录下) 装置 装置在Linux内的档名 SCSI/SATA/U盘硬盘机 /dev/sd[a-p] U盘 /d ...
随机推荐
- C标准库string.h中几个常用函数的使用详解
strlen 计算字符串长度 size_t strlen(const char *str) 计算字符串 str 的长度,直到空结束字符,但不包括空结束字符. 函数实现: int Strlen(cons ...
- PowerBI开发 第六章:数据网管
Power BI的本地数据网管(On-Premises Data Gateway)是运行在组织内部的软件,用于管控外部用户访问内部(on-premises)数据的权限.PowerBI的网管像是一个尽职 ...
- MyBatis的一级缓存和二级缓存简介笔记
关于mybatis中一级缓存和二级缓存的简单介绍 mybatis的一级缓存: MyBatis会在表示会话的SqlSession对象中建立一个简单的缓存,将每次查询到的结果结果缓存起来,当下次查询的时候 ...
- C# 基于泛型的自定义线性节点链表集合示例
本例子实现了如何自定义线性节点集合,具体代码如下: using System; using System.Collections; using System.Collections.Generic; ...
- Mysql + Mybatis动态建表
service层业务 package com.zx.common.service.impl; import com.zx.common.entity.SysUser; import com.zx.co ...
- python基础面试题
函数1def foo(arg,li=[]): li.append(arg) return li list1 = foo(21) list2 = foo(11,[2]) list3 = foo(28) ...
- coinmarketcap前20之cardano卡尔达诺(ADA艾达币)
1. 在开始讲述cardano前,我先说说自己在coinmarketcap前20系列的"学习方法". 最初,我把前20做了一个简单表格,不做任何功课的基础上,记录自己对它们的简要认 ...
- 《Linux内核设计与实现》Chapter 5 读书笔记
<Linux内核设计与实现>Chapter 5 读书笔记 在现代操作系统中,内核提供了用户进程与内核进行交互的一组接口,这些接口的作用是: 使应用程序受限地访问硬件设备 提供创建新进程与已 ...
- Hadoop 4 MapReduce
对单词个数统计的MapReduce的案例 Mapper类: package main.java.worldClient; import java.io.IOException; import org. ...
- Matlab批量处理指定文件夹下的所有音频文件
filedir='E:/source/Wavfile/*.wav'; % 设置路径 outfiledir='E:/output/Wavfile/'; infiledir='E:/source/Wavf ...