文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>磁盘配额(Quota)

磁盘配额(Quota)

时间:2006-12-22  来源:h0000001

什么是配额 配额就是有多少限额的意思,如果用在容量空间上,以Linux来说,就是有多少容量限制. 使用配额时有下面几个基本限制 1.实际运作时,配额是针对整个分区进行限制. 2.Linux系统核心必须支持quota模块 3.新的quota模块,使用的默认文件(aquota.user,aquota.group)不同于旧版本的quota.user,quota.group.旧版本的quota可以藉由convertquota程序进行转换.Kernel 2.4.xx的核心版本支持新的quota模块.   quota程序的限制内容主要分为以下几个部分 soft:  这是最低限制容量,用户在宽限期间的容量可以超过soft,但必须在宽限时间内将磁盘容量降低到soft的容量限制下. hard:  这是绝对不能超过的容量.跟soft相比,通常hard的限度会比soft的限度高,其实,soft到hard之间的容量就是宽限的容量,可以起到警示作用. 宽限时间: 宽限时间就是用户使用的空间超过了soft limit,但还没有到达hard limit,在这个宽限时间内,用户需要将使用的磁盘容量降低到soft limit之下.当用户的磁盘容量使用情况超过soft limit时,宽限时间就会自动启动,而在用户将容量降低至soft limit之下,宽限时间就会自动取消.       基本的quota指令 大致分为两种:     1.查询功能(quota,quotacheck,quotastats,warnquota,repquota)     2.编辑quota的内容(edquota,setquota)   quota     显示当前某个群组或者某个用户的quota限值. 语法:   #quota [-guvs][user,group] -g:  显示群组 -u:  显示用户 -v:  显示quota的值 -s:  选择显示inode或硬盘空间 例:#quota -guvs    #quota -uvs test     quotacheck     扫描某个磁盘的quota空间 语法:    #quotacheck [-auvg] /yourpath -a:  扫描/etc/mtab中所有己经安装并支持quota的硬盘 -u:  扫描用户的文件与目录 -v:  显示扫描过程 -g:  扫描群组使用的文件与目录 注:Linux系统特别强调,在使用quota时,需要特别注意在重启时先将quota关闭         edquota    编辑"个人"或"群组"的quota数值. 语法:    #edquota [-u user][-g group][-t]          #edquota -p user_demo -u user -u:  编辑user的quota -g:  编辑group的quota -t:  编辑宽限时间(就是超过quota值后,还能使用硬盘的宽期限) -p:  复制模板(己建立的用户或群组)到加一个用户(或群组) [root@mail root]edquota root Disk quotas for user root (uid 0):
  Filesystem       blocks       soft       hard     inodes     soft     hard
  /dev/hda5       1183968          0          0         44        0        0
说明: filesystem: 这就是分区的意思 blocks:     这表示当前用户root(uid 0)在/dev/hda5这个filesystem所耗用的磁盘容量,也就是当前使用空间.单位是Kbytes.这个信息是quota程序自己计算出来的,所以不用修改. soft与hard:这是root在这个filesystem之内的当前quota限值.当值为0时,表示没有限制. inodes:     当前所用inode的状态,也是quota自己计算出来,所以不要修改.     quotaon   启动quota 语法:    #quotaon [-a][-uvg directory] -a:  启动所有的quota设定(会自动寻找/etc/mtab的设定) -u:  激活用户的quota -g:  启动群组的quota设定 -v:  显示信息     quotaoff    关闭quota限制 语法:   #quotaoff -a -a:  关闭所有的quota设定(会自动寻找/etc/mtab的设定)         quota实践 quota的功能有很多,包括: 限制某一群组所能使用的最大磁盘配额(使用群组限制) 限制某一用户的最大磁盘配额(使用用户限制) 以Link方式使邮件可以作为限制的配额(更改/var/spool/mail这个路径)   使用quota磁盘配额的几个步骤 1.开启磁盘的quota功能:编辑/etc/fstab,加入usrquota和grpquota,使得准备开放的quota磁盘可以支持quota; 2.预扫描磁盘的使用情况:使用quotacheck扫描我们要使用的磁盘; 3.建立用户的quota:使用edquota来编辑每个用户或群组的可使用空间; 4.启动quota:使用quotaon.   注:由于真正的quota读取的是/etc/mtab这个文件,但这个文件需要重新启动之后才能够以/etc/fstab的新数据进行改写,所以这时可以: 1.重新启动系统==>reboot 2.重新使用remount filesystem来驱动设定值.         例行性命令at与crontab at:      这个工作仅执行一次就从Linux系统的流程中取消 crontab: 这个工作将持续例行性地做下去   at   这个指令其实就是atd这个服务.仅执行一次. 启动这个服务:   #chkconfig --add atd 输入at这个动作会将工作流程写入/var/spool/at目录下,然后等待系统执行它. at指令默认是所有人都能执行,不过root用户可以使用/etc/at.allow与/etc/at.deny这两个文件进行限制:其限制原理: 1.先找寻/etc/at.allow文件,存在于这个文件中的用户才能使用at,不在这个文件中的用户则不能使用at(即使没有写在at.deny文件中) 2.如果没有/etc/at.allow就寻找/etc/at.deny文件,存在于at.deny的用户不能使用at,而不存在at.deny文件中的用户就可以使用at 3.如果两个文件都不存在,则只有root用户可以使用at指令   at的语法 #at [-m] TIME     (输入工作指令) #atq              (查看当前工作流程) #atrm [jobnumber] (删除流程) 说明: -m:    执行at规范的工作流程时,将屏幕输出结果mail结输入指令的用户 TIME:  时间格式,有如下几个:        HH:MM YYYY-MM-DD                 ex>  04:00 2006-12-23        HH[pm;am] + number [hours;days;weeks]   ex> 4pm + 3days        HH:MM      ex>12:00        HH[pm;am][Month][Day]     ex>1pm May 30 jobnumber:  即是每个at工作流程都有的编排顺   在输入at之后便进入命令行模式,在这里你可以重复输入命令,但是离开时按下Ctrl+D就可以退出.退出之后,系统显示这个工作流程的编排顺序与用户.           循环执行:  crontab 这个循环的例行性命令其实就是cron服务(crond).输入crontab指令之后,会将命令写入/var/spool/cron目录中. crontab指令的语法: #crontab [-u user][-l | -e | -r] 说明: -u user:  这个指令只有root能输入,查看或编译其他用户的crontab内容 -l:       列出crontab的内容 -e:       编辑crontab的内容 -r:       删除crontab的内容 编辑crontab的语法格式: * * * * * command 说明(从左至右依次说明) *:   表示分钟(0-59),*代表每分钟,*/5代表每5分钟,1,3,5,10代表第1,3,5,10分钟的时候. *:   表示小时(0-23) *:   表示日期(1-31) *:   表示月份(1-12) *:   表示周(0-6) command: 表示要执行的命令   系统的crontab设定:  /etc/crontab 编辑系统的crontab只要直接编辑/etc/crontab文件就可以. 注:由于crontab是读取到内存中,所以在修改完/etc/crontab之后可能不会马上执行,这时需要重新启动crond服务. /etc/rc.d/init.d/crond restart 解析/etc/crontab文件的内容 [root@mail bin]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
[root@mail bin]#
MAILTO=root:  即当/etc/crontab文件中的例行性命令发生错误时,会将错误信息或屏幕显示的信息传给root用户,因为root无法在客户端收信,因此,这里通常被改成自己的账号,好及时了解到系统的状况.
01 * * * * root run-parts /etc/cron.hourly: 这一行说的就是在每个小时的第一分钟,系统会以root层级的用户到/etc/cron.hourly目录下执行所有可以执行的文件.root 代表执行的层级为root身份.run-parts表示后面接的/etc/hour.daily是一个目录内的所有可以执行的文件.   注: 基本上,/etc/crontab支持两种指令的方式,一种是直接以指令形式输入,一种则是以目录形式输入. 指令形式: 01 * * * * test mail -s test test< /home/test/test.txt 用户是test,且每小时执行一次指令mail... 也可以如下所示 */5 * * * * root /usr/local/mrtg-2/bin/mrtg /usr/local/apache/htdocs/mrtg/net/mrtg.cfg 目录形式: */5 * * * * root run-parts /etc/runcron 建立一个/etc/runcron的目录,将每隔5分钟执行一次的可执行文件都写到该目录下,就可以让系统每时每5分钟执行一次该目录下所有的所有可执行文件.     安全防护:/var/log/cron记录文件           程序与资源管理   查找指令说明的指令: #man command #info command   /etc/man.config   Linux主机内的文件数据 /usr/share/doc   留心/var/log中的文件   背景工作管理 & 与 Ctrl+z &    让屏幕中的工作在背景下执行.让背景中的工作重新在屏幕上执行,可以使用fg 语法:   #command & Ctrl+z   将当前正在屏幕上进行的工作丢到背景下.     jobs,fg与bg,kill jobs    查看背景工作下有哪些工作 语法:   #jobs fg     将背景中的指令移到屏幕上来 语法:   #fg $number bg     将背景中的程序由stopped变成running. 语法:   #bg %number     kill      杀提工作中的程序 语法:   #kill -signal %number signal -1:   重新读取参数配置文件(类似reload) -2:   用户中断该工作.类似使用ctrl+c中断一个工作 -9:   立刻杀掉一个工作,不论该工作是否为死程序 -15:  停止一个工作(这是默认值)    程序与资源管理 ps    报告进程状态 语法:   #ps -aux -a:   选择列出所有的程序 -u:   列出所有用户的程序 -x:   列出所有tty的程序 [root@mail root]# ps -aux
USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  1368   76 ?        S    Dec09   0:03 init
root         2  0.0  0.0     0    0 ?        SW   Dec09   0:00 [keventd]
root         3  0.0  0.0     0    0 ?        SW   Dec09   0:00 [kapmd]
root         4  0.0  0.0     0    0 ?        SWN  Dec09   0:00 [ksoftirqd_CPU0]
root         9  0.0  0.0     0    0 ?        SW   Dec09   0:01 [bdflush]
root         5  0.0  0.0     0    0 ?        SW   Dec09   0:21 [kswapd]
root         6  0.0  0.0     0    0 ?        SW   Dec09   0:00 [kscand/DMA]
root         7  0.0  0.0     0    0 ?        SW   Dec09   0:02 [kscand/Normal]
root         8  0.0  0.0     0    0 ?        SW   Dec09   0:00 [kscand/HighMem]
root        10  0.0  0.0     0    0 ?        SW   Dec09   0:00 [kupdated]
root        11  0.0  0.0     0    0 ?        SW   Dec09   0:00 [mdrecoveryd]
root        15  0.0  0.0     0    0 ?        SW   Dec09   0:09 [kjournald]
root        73  0.0  0.0     0    0 ?        SW   Dec09   0:00 [khubd]
root      1055  0.0  0.0     0    0 ?        SW   Dec09   0:00 [kjournald]
说明:
USER:   该程序属于哪一个用户 PID:    该程序的代号,如果要用kill杀掉该程序,则需要这个PID. %CPU:   代表该程序使用了多少CUP资源 %MEM:   代表该程序使用了多少RAM VAZ,RSS:占去的RAM的大小(以字节为单位) TTY:    是否为登入者执行的程序?若为tty1-tty6,则为本机登入者,基为pts/??,则为远程登入者 STAT:   该程序的状态: R为可执行,S为该程序正在睡眠中,就是没有执行,T为正在检测或者停止,Z表示死亡程序,需要用kill除去. START:  该程序开始的日期 TIME:   该程序的运行时间 COMMAND:该程序的内容     top     动态检测程序的运行状态 语法:   #top 说明: 在执行top的程序中,可以输入下面的字符进行排序 A:  以age亦即执行的先后顺序进行排序  T:  由启动的时间排序 M:  以所占的内存大小排序 P:  以所耗用的CPU资源排序 #top 09:34:58  up 16 days,  1:01,  1 user,  load average: 0.00, 0.00, 0.00
44 processes: 43 sleeping, 1 running, 0 zombie, 0 stopped
CPU states:   0.0% user   0.0% system   0.0% nice   0.0% iowait  99.9% idle
Mem:   222948k av,  192420k used,   30528k free,       0k shrd,   47496k buff
                    151756k actv,   10664k in_d,    4132k in_c
Swap:  530136k av,    7652k used,  522484k free                  120756k cached
  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME CPU COMMAND
    1 root      15   0   104   80    56 S     0.0  0.0   0:03   0 init
    2 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 keventd
    3 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 kapmd
    4 root      34  19     0    0     0 SWN   0.0  0.0   0:00   0 ksoftirqd_CPU
    9 root      15   0     0    0     0 SW    0.0  0.0   0:01   0 bdflush
    5 root      15   0     0    0     0 SW    0.0  0.0   0:21   0 kswapd
    6 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 kscand/DMA
    7 root      15   0     0    0     0 SW    0.0  0.0   0:02   0 kscand/Normal
    8 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 kscand/HighMe
   10 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 kupdated
   11 root      23   0     0    0     0 SW    0.0  0.0   0:00   0 mdrecoveryd
   15 root      15   0     0    0     0 SW    0.0  0.0   0:09   0 kjournald
   73 root      24   0     0    0     0 SW    0.0  0.0   0:00   0 khubd
 1055 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 kjournald
 1067 root      25   0     0    0     0 SW    0.0  0.0   0:00   0 usb-storage-0
 1072 root      25   0     0    0     0 SW    0.0  0.0   0:00   0 scsi_eh_0
 1142 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 kjournald
 1270 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 kjournald
 3102 root      15   0   188  160   112 S     0.0  0.0   0:08   0 syslogd
 3106 root      18   0    48    4     0 S     0.0  0.0   0:00   0 klogd
  free   检查当前内存的使用情况 语法:  #free -k:   以KBytes显示内存 -m:   以MBytes显示内存     sar   收集系统活动情报,报告或者保留 语法:  #sar [-u][-r] 秒数 次数 -u:  看CPU的使用情况 -r:  看内存的使用情况 秒数: 几秒钟观测一次? 次数: 共观测几次 [root@mail root]#sar -u 1 3 Linux 2.4.20-8 (mail)   12/25/2006 09:44:13 AM       CPU     %user     %nice   %system     %idle
09:44:14 AM       all      0.00      0.00      0.00    100.00
09:44:15 AM       all      0.00      0.00      0.00    100.00
09:44:16 AM       all      0.00      0.00      0.00    100.00
Average:          all      0.00      0.00      0.00    100.00
[root@mail root]# sar -r 1 3
Linux 2.4.20-8 (mail)   12/25/2006
09:45:01 AM kbmemfree kbmemused  %memused kbmemshrd kbbuffers  kbcached kbswpfree kbswpused  %swpused
09:45:02 AM     29484    193464     86.78         0     48224    120992    522484      7652      1.44
09:45:03 AM     29484    193464     86.78         0     48224    120992    522484      7652      1.44
09:45:04 AM     29484    193464     86.78         0     48224    120992    522484      7652      1.44
Average:        29484    193464     86.78         0     48224    120992    522484      7652      1.44
[root@mail root]#
      uname  打印系统信息 语法:   #uname [-apnr] -a:   列出所有的系统信息 -p:   列出CPU的信息 -n:   列出主机名 -r:   列出核心版本信息 注:你也可以查看/proc下的一些文件,以了解系统的更多信息 如:
[root@mail proc]# more cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 2
model name      : Intel(R) Celeron(R) CPU 2.00GHz
stepping        : 9
cpu MHz         : 1968.790
cache size      : 8 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm
bogomips        : 3932.16
[root@mail proc]#     程序优先级
[root@mail proc]# ps -l
F S   UID   PID  PPID  C PRI  NI ADDR    SZ WCHAN  TTY          TIME CMD
4 S     0 16436 16434  0  75   0    -  1090 wait4  pts/0    00:00:02 bash
0 R     0 16803 16436  0  80   0    -   777 -      pts/0    00:00:00 ps
说明:
UID:代表执行者的身份 PID:代表这个程序的代号 PPID:代表这个程序由哪个程序发展而来,即父程序 PRI:代表这个程序可被执行的优先级,越小就越早被执行 NI:代表这个程序的nice值 这里可以依据下面的公式来改变程序的PRI值,以来改变该程序执行的优先级. PRI(new)=PRI(old) + nice 这样,当nice值为负值时,该程序就会提前执行,即调整了程序处理的优先顺序. nice的取值范围:     一般用户可用的nice值为0-19     root管理员可用的nice值为-20-19   nice   系统依靠这个值来改变程序执行的优先级 语法:  #nice [-n number] command -n  后面那个number即为nice值     renice   用于改变一个正在进行中的程序的优先级,所以必须先取得该程序的PID.与nice不同. 语法:   #renice [number] PID ex> renice 5 234     信息管理
dmesg   查看系统启动时显示的信息   语法:   #dmesg     uptime   报告该系统己经开了多久?包括过去的1,5,15分钟内系统的平均负载是多少. 语法:  #uptime     who,w,whoami who与w功能相同,只是who仅列出用户名与登入时间,w则会列出用户的源地址(IP),登入时间与工作项目.另外,在使用w时,开头会显示一段信息关于系统启动的时间.       last   列出最近登入系统的用户 语法:  #last -number -number:  number为数字     hostname  显示主机名 语法:  #hostname       ntpdate   网络校时. 语法:  #ntpdate time.stdtime.gov.tw    <==从time.stdtime.gov.tw上获得时间        #clock -w          <==将当前时间保存到BIOS中. 10 5 * * 0,3 root /usr/sbin/ntpdate time.stdtime.gov.cn; clock -w          
相关阅读 更多 +
排行榜 更多 +
僵尸围城双人生存

僵尸围城双人生存

飞行射击 下载
同城游战机1942

同城游战机1942

飞行射击 下载
唛动不已

唛动不已

飞行射击 下载