鸟哥的Linux私房菜——第十八章:磁盘配额quota

  视频链接:

  磁盘配额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 1 2

都全部配置完毕之后,我们就开始我们的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 1 2

写完之后呢,因为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 实例

就是你磁盘配额的时候最好是一块独立的磁盘,那万一你没有把目录设置在一块独立的磁盘上,那该怎么办呢

时间: 2024-10-08 09:30:25

鸟哥的Linux私房菜——第十八章:磁盘配额quota的相关文章

鸟哥的Linux私房菜 第十八章、认识系统服务 (daemons)

什么是 daemon 与服务 (service) Linux Daemon (守护进程)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待处理某些事件.它不需要用户输入就能运行并且提供某种服 务,不是对整个系统就是对某个用户程序提供服务. Linux 系统的大多数服务器就是通过守护进程实现的.常见的守护进程包括系统日志进程 syslogd . web 服务器 httpd .邮件服务器 sendmail 和数据库服务器 mysqld 等. 守护进程一般在系统启动时开始运行,

鸟哥的Linux私房菜——第十九章:例行命令的建立

视频链接: 1. 什么是例行性命令 (分为两种,一种是周期性的,一种是突发性的)1.1 Linux 工作排程的种类: at, cron   ( at是突发的,cron是周期的)1.2 系统上常见的例行性命令有哪些? (log rotate,数据库rpm,locate数据库)2. 仅执行一次的工作排程: at, atq, atrm3. 循环执行的例行性命令: cron3.1 使用者的设定: crontab3.2 系统的设定: /etc/crontab at  仅进行一次的工程安排 这个现在好多都是

鸟哥的Linux私房菜——第十二章:档案的压缩与打包

视频链接: 土豆: B站(推荐): 本章目录: 1. 压缩档案的用途与技术: (为啥要压缩嘞?因为比如存储一个数字1,前7位补充0浪费,压缩技术就是把空的那些用上,省硬盘空间,下载的时候也省带宽)2. Linux 系统常见的压缩指令:2.1 compress (这个是最老的压缩指令,现在不怎么用了)2.2 gzip, zcat (新一代的压缩指令,代替了compress,zcat是读取gzip和compress的压缩数据的指令)2.3 bzip2, bzcat   (bzip2更高效,压缩比高,

鸟哥的Linux私房菜——第十六章:学习Shell Scripts

视频链接: 1. 什么是 Shell Script       (shell写的脚本)1.1 干嘛学习 shell scripts? ()1.2 第一支 script 的撰写与执行1.3 撰写 shell script 的良好习惯建立 2. 简单的 shell script 练习: (read -p  date)3. 善用判断式:3.1 利用 test 指令的测试功能3.2 利用判断符号 [ ] 3.3 Shell script 的预设变数($0, $1...)4. 条件判断式:4.1 利用 i

鸟哥的Linux私房菜——第十五章:正规表示法

视频链接 土豆: B站: 本章讲的是 目录如下 1. 前言:2. 基础正规表示法:2.1 以 grep 撷取字符串 (grep -iv  i是忽略大小写,v是反向选择显示没有搜寻字符串的 '搜寻字符串' filename)2.2 重要特殊字符(characters) ([] ^ $ *)3. 延伸正规表示法: (+ ? | () )4. 格式化打印: printf ()5. sed 工具简介 (sed '1a ..'   a新增  d删除  c取代)6. awk 工具简介 (awk  NF每一行

【Linux】鸟哥的Linux私房菜基础学习篇整理(十二)

1. depmod [-Ane]:更新内核模块依赖.参数:无参数:depmod会主动分析目前内核的模块,并重新写入/lib/modules/$(uname -r)/modules.dep中:-A:depmod会查找比modules.dep内还要新的模块,如果找到符合模块才更新:-n:不写modules.dep,而将结果输出到屏幕:-e:显示目前已加载的不可执行的模块名称. 2. lsmod:查看内核目前加载的模块. 3. modinfo [-adln] [module_name|filename

【Linux】鸟哥的Linux私房菜基础学习篇整理(十)

1. at [-mldv] TIME/at -c 工作号码:单一工作调度.参数:-m:当at的工作完成后,即使没有输出信息,以email通知用户该工作已完成:-l:相当于atq,列出目前系统上面的所有该用户的at调度:-d:相当于atrm,可以取消一个在at调度中的工作:-v:可以使用较明显的时间格式列出at调度中的任务列表:-c:可以列出后面接的工作的实际命令内容.TIME时间格式:HH:MM:在今日的HH:MM时刻进行,若已经超过该时刻,则明天的HH:MM进行该工作:HH:MM YYYY-M

刘遄:读完《鸟哥的Linux私房菜》的感受。

作为一名运维领域的从业者及linux技术爱好者,坦白来讲,鸟哥的linux私房菜也是我的linux入门书籍,我绝对的认可鸟哥为这本书的付出,其书发行量巨大,陪伴了一代的运维人员,甚至被封为"linux入门神书",渐渐的从一本linux技术书籍,上升至精神的高度,不允许再有一点反驳之声,但思索再三,还是决定阐明我的观点,与初学者分享下这不同的看法. 首先鸟哥在开篇即提到了写书的缘由是因为记性不好,所以想写出一本能够放在案头的备忘录,对书籍的内容自然就没有了太多的筛选,反而一再的扩大知识范

<鸟哥的Linux私房菜 第二版 读书笔记 >

2017年4月9日22:23:40 <鸟哥的linux私房菜> 1.操作系统 1.1什么是操作系统呢? 操作系统是用来管理计算机的软硬件资源,用来方便用户使用的程序的集合.让用户不必要在了解硬件的作用只需要简单的操作就可以完成复杂的计算问题. 1.2Kernel Kernel(核心),是计算机操作系统的内核,是操作系统的核心部分,也是操作系统最底层的东西,它掌管着整个硬件资源的工作状态. 核心管理的事项主要有:系统调用接口(System Call Interface).进程控制(Process