M25-5

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了M25-5相关的知识,希望对你有一定的参考价值。

  1  懒人少语之第五周     

磁盘限额相关命令:(quota, quotacheck, quotastats, warnquota, repquota,查询功能) (edquota, setquota编辑quota功能) 2 ??quota命令 `显示某群组/使用者的quota限额.` 3 quota wang `查看wang空间占用` 是根据由所有者来判断磁盘是否用完了 4 quota -g g1 `查看g1组空间配额` 5 -g `列出群组的磁盘空间限制` 6 -q `基本信息,列出超过限制的部分` 7 -u `列出用户磁盘空间限制` 8 -v `显示某用户或群组,在所有挂入系统的存储设备的空间限制` 9 -V `版本信息` 10 11 包quota查询信息解释: 12 soft `最低限制容量.使用者在宽限期内容量可以超过soft,必须在宽限期之内降低到soft的容量限制之下` 13 hart `最大值,一般soft用做警示提醒作用,而hart则相当与"硬件容量",无法超过这个设定值` 14 limit `宽限时间,当soft过量超过宽限时间时将启动限制,将soft容量降低到安全线内宽限解除` 15 16 ??quotacheck命令 17 -a `扫描/etc/mtab表的mount具有quota支持的磁盘` 18 -u `扫描所有者的文件目录` 19 -v `显示过程` 20 -g `扫描所属组的文件目录` 21 -m `强行进行检查` 22 在有quota的限额磁盘做检查操作 23 touch /mnt/sdb1/aquota.user; touch /mnt/sdb1/aquota.group 24 quotacheck -uvg /mnt/sdb1/ 25 26 ??quotaon命令 `` 27 -a `将启动所有quota设定,根据/etc/mtab查找` 28 -u `启动某所有者的quota` 29 -g `启动某所属组的quota` 30 -v `显示过程` 31 quotaon -a `启动所有限额` 32 但必须先执行quotacheck,根据aquota.group和aquota.user文件信息来启动 33 quotaon -uv /mnt/sdb1 `启动sdb1下所有者的限额,所属组的限额不启动` 34 35 ??quotaoff命令 36 quotaoff -a `将关闭所有quota设定,根据/etc/mtab文件查找` 37 38 ??edquota命令 `会进入vi界面处理` 39 -u `编辑所有者的quota` 40 -g `编辑所属组的quota` 41 -t `编辑宽限时间limit` 42 -p `将建立好的使用者/群组复制到另一个使用者/群组` 43 edquota -u test 44 Filesystem blocks soft hard inodes soft hard 45 /dev/sdb1 8 0 0 5 0 0 46 filesystem `partition的信息` 47 block `目前test用户在/dev/sdb1所占用的空间,单位是kb/s,默认不要自己修改` 48 soft和hart `一个是警戒值,一个是最大限额` 49 inodes `目前使用了多少个inode的状态,默认不要去修改他,一般不好限制,可忽略此项限额` 50 51 edquota -p user1 hong `把user1配额复制给hong` 52 edquota -g g1 `指定组配额` 会根据该用户对g1所属组的控制,某个用户的所属组必须是g1的意思. 53 对组用户做配额限制 54 55 ?????????????????????????????? 56 57 使用quota步骤(这是限额操作,非权限操作.要注意使用者对磁盘是否有足够权限) 58 比如限制某个群组/使用者使用磁盘最大限制 59 一. 开启磁盘quota: 编辑/etc/fstab 60 二. 扫描磁盘使用情况: 使用quotacheck扫描使用的磁盘空间 61 三. 建立使用者的quota: 使用edquota来编辑每个所有者/群组的可用空间 62 四. 启动quota: 使用quotaon启动某群组/所有者 63 64 建立使用者 (限定某所有者限额准备) 65 usergroup group1 66 useradd -m -g group1 user1 `指定用户user1所属组是group1` 67 useradd -m -g group1 user2 68 passwd user1 `设定user1用户登录密码` 69 70 ??使用quota的准备工作 71 我想在/mnt/sdb1下限制user1,user2用户,可使用df来查询相对应的/mnt/sdb1的信息,我的sdb1是独立的磁盘分区, 72 修改/etc/fstab信息,把/dev/sdb1的第四列defaults添加usrquota,grpquota信息 73 /dev/sdb1 /mnt/sdb1 ext4 defaults,usrquota,grpquota 0 0 74 重启或者重新挂载生效 75 重启: reboot 76 重新挂载: mount -a -o remount 77 ??扫描磁盘使用情况,并生成aquota.group和aquota.user文件 78 cd /mnt/sdb1/ 79 quotacheck -avug 80 ??启动quota进行限额 81 quotaon -av 82 /dev/sdb1 [/mnt/sdb1]: group quotas turned on 83 /dev/sdb1 [/mnt/sdb1]: user quotas turned on 84 显示turned on表示成功启动 85 ??控制使用者/群组可用的空间 86 edquota -u uesr1 87 显示效果如下?? 88 Filesystem blocks soft hard inodes soft hard 89 /dev/sdb1 0 0 0 0 0 0 90 修改为?? 单位为kb 91 Filesystem blocks soft hard inodes soft hard 92 /dev/sdb1 0 10000 20000 0 0 0 93 ??指定宽限时间/可选 94 edquota -t 95 Time units may be: days, hours, minutes, or seconds 96 Filesystem Block grace period Inode grace period 97 /dev/sdb1 7days 7days 98 ??查询是否生效 99 quota -vu user1 user2 `查询user1和user2的限额情况` 100 Disk quotas for user user1 (uid 502): `一般grace在达到警戒值soft才会显示` 101 Filesystem blocks quota limit grace files quota limit grace(警戒天数) 102 /dev/sdb1 0 10000 20000 0 0 0 103 Disk quotas for user user2 (uid 503): 104 Filesystem blocks quota limit grace files quota limit grace 105 /dev/sdb1 0 0 0 0 0 0 106 以上创建完毕,创建群组操作也类似,edquota -g group1 ; quota -vg group1 ... 107 若需要让其开机启动,编辑vim /etc/rc.d/rc.local, 最后一行添加/sbin/quotaon -aug 即可. 108 109 ??setquota命令 110 -u `指定用户设置的用户配额` 111 -g `指定组设置的配额` 112 setquota user1 100000 150000 0 0 113 限定: * * 文件个数 * /home挂载点 114 115 ??repquota命令 116 以报表形式输出指定分区/文件系统/文件夹配额信息 117 repquota /dev/sdb2 `结果如下??` 118 *** Report for user quotas on device /dev/sdb1 119 Block grace time: 7days; Inode grace time: 7days 120 Block limits File limits 121 User used soft hard grace used soft hard grace 122 ---------------------------------------------------------------------- 123 root -- 20 0 0 2 0 0

 

磁盘限额相关命令:(quota, quotacheck, quotastats, warnquota, repquota,查询功能) (‘edquota, setquota‘编辑quota功能)
??quota命令 `显示某群组/使用者的quota限额.`
quota wang `查看wang空间占用` 是根据由所有者来判断磁盘是否用完了
quota -g g1 `查看g1组空间配额`
-g `列出群组的磁盘空间限制`
-q `基本信息,列出超过限制的部分`
-u `列出用户磁盘空间限制`
-v `显示某用户或群组,在所有挂入系统的存储设备的空间限制`
-V `版本信息`

包quota查询信息解释:
soft `最低限制容量.使用者在宽限期内容量可以超过soft,必须在宽限期之内降低到soft的容量限制之下`
hart `最大值,一般soft用做警示提醒作用,而hart则相当与"硬件容量",无法超过这个设定值`
limit `宽限时间,当soft过量超过宽限时间时将启动限制,将soft容量降低到安全线内宽限解除`
 
??quotacheck命令
-a `扫描/etc/mtab表的mount具有quota支持的磁盘`
-u `扫描所有者的文件目录`
-v `显示过程`
-g `扫描所属组的文件目录`
-m `强行进行检查`
在有quota的限额磁盘做检查操作
touch /mnt/sdb1/aquota.user; touch /mnt/sdb1/aquota.group
quotacheck -uvg /mnt/sdb1/

??quotaon命令 ``
-a `将启动所有quota设定,根据/etc/mtab查找`
-u `启动某所有者的quota`
-g `启动某所属组的quota`
-v `显示过程`
quotaon -a `启动所有限额`
但必须先执行quotacheck,根据aquota.group和aquota.user文件信息来启动
quotaon -uv /mnt/sdb1 `启动sdb1下所有者的限额,所属组的限额不启动`
 
??quotaoff命令
quotaoff -a `将关闭所有quota设定,根据/etc/mtab文件查找`

??edquota命令 `会进入vi界面处理`
-u `编辑所有者的quota`
-g `编辑所属组的quota`
-t `编辑宽限时间limit`
-p `将建立好的使用者/群组复制到另一个使用者/群组`
edquota -u test
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 8 0 0 5 0 0
filesystem `partition的信息`
block `目前test用户在/dev/sdb1所占用的空间,单位是kb/s,默认不要自己修改`
soft和hart `一个是警戒值,一个是最大限额`
inodes `目前使用了多少个inode的状态,默认不要去修改他,一般不好限制,可忽略此项限额`

edquota -p user1 hong `把user1配额复制给hong`
edquota -g g1 `指定组配额` 会根据该用户对g1所属组的控制,某个用户的所属组必须是g1的意思.
对组用户做配额限制
 
??????????????????????????????

使用quota步骤(这是限额操作,非权限操作.要注意使用者对磁盘是否有足够权限)
比如限制某个群组/使用者使用磁盘最大限制
一. 开启磁盘quota: 编辑/etc/fstab
二. 扫描磁盘使用情况: 使用quotacheck扫描使用的磁盘空间
三. 建立使用者的quota: 使用edquota来编辑每个所有者/群组的可用空间
四. 启动quota: 使用quotaon启动某群组/所有者

建立使用者 (限定某所有者限额准备)
usergroup group1
useradd -m -g group1 user1 `指定用户user1所属组是group1`
useradd -m -g group1 user2
passwd user1 `设定user1用户登录密码`
 
??使用quota的准备工作
我想在/mnt/sdb1下限制user1,user2用户,可使用df来查询相对应的/mnt/sdb1的信息,我的sdb1是独立的磁盘分区,
修改/etc/fstab信息,把/dev/sdb1的第四列defaults添加usrquota,grpquota信息
/dev/sdb1 /mnt/sdb1 ext4 defaults,usrquota,grpquota 0 0
重启或者重新挂载生效
重启: reboot
重新挂载: mount -a -o remount
??扫描磁盘使用情况,并生成aquota.group和aquota.user文件
cd /mnt/sdb1/
quotacheck -avug
??启动quota进行限额
quotaon -av
/dev/sdb1 [/mnt/sdb1]: group quotas turned on
/dev/sdb1 [/mnt/sdb1]: user quotas turned on
显示turned on表示成功启动
??控制使用者/群组可用的空间
edquota -u uesr1
显示效果如下??
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 0 0 0 0 0 0
修改为?? 单位为kb
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 0 10000 20000 0 0 0
??指定宽限时间/可选
edquota -t
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/sdb1 7days 7days
??查询是否生效
quota -vu user1 user2 `查询user1和user2的限额情况`
Disk quotas for user user1 (uid 502): `一般grace在达到警戒值soft才会显示`
Filesystem blocks quota limit grace files quota limit grace(警戒天数)
/dev/sdb1 0 10000 20000 0 0 0
Disk quotas for user user2 (uid 503):
Filesystem blocks quota limit grace files quota limit grace
/dev/sdb1 0 0 0 0 0 0
以上创建完毕,创建群组操作也类似,edquota -g group1 ; quota -vg group1 ...
若需要让其开机启动,编辑vim /etc/rc.d/rc.local, 最后一行添加/sbin/quotaon -aug 即可.
 
??setquota命令
-u `指定用户设置的用户配额`
-g `指定组设置的配额`
setquota user1 100000 150000 0 0
限定: * * 文件个数 * /home挂载点

??repquota命令
以报表形式输出指定分区/文件系统/文件夹配额信息
repquota /dev/sdb2 `结果如下??`
*** Report for user quotas on device /dev/sdb1
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 20 0 0 2 0 0


以上是关于M25-5的主要内容,如果未能解决你的问题,请参考以下文章

代码片段

这些 C++ 代码片段有啥作用?

PHP 代码片段

关于代码片段的时间复杂度

代码片段 - Golang 实现集合操作

discuz X3.1 源代码阅读,记录代码片段