什么是磁盘配额
磁盘配额的一般用途
对www服务器每个人的网页空间做出限制
对邮件服务器,每个人的邮箱空间做出限制
对文件服务器
磁盘配额的使用限制
仅针对整个分区
核心必须支持磁盘配额
磁盘配额的记录文件(aquota.user,aquota.group)
旧版本可以通过convertquota转换
只对一般用户有效
磁盘配额程序对硬盘配额的限制
最低限制(soft):这是最低限制容量,在宽限期内可以超过,但是必须在
宽限时间之内将磁盘容量降低到最低限制的容量限制范围之内
最高限制(hard):绝对不能超过的容量
宽限时间:在用户使用容量超过最低限制就会启动,低于的时候自动关闭
基本磁盘配额命令
/etc/mtab
一般我们使通过编辑/etc/fstab后在重新载入文件系统的方法来让系统
的文件系统支持磁盘配额的。
quota
quota [-uvsl] [username]
quota [-gvsl] [groupname]
选项:
-u 后面可以接用户名,表示显示出该用户的磁盘配额限制值
-g 后面可以接groupname,表示显示出该用户组的磁盘配置限额
-v 显示每个文件系统的磁盘配置额值
-s 可选择用inode或磁盘容量的限制值来显示
-l 仅显示出当前本机文件系统的磁盘配置额值
quotacheck
quotacheck [-avug] [/mount_point]
选项:
-a 扫描所有在/etc/mtab内含有磁盘配额支持的文件系统,加上本选项
最后一个参数可以不必填写,因为扫描所有文件系统
-u 针对用户扫描文件与目录的使用情况,会建立aquota.user
-g 针对用户组扫描文件与目录的使用情况,会建立aquota.group
-v 显示扫描过程的信息
-M 强制 进行quotacheck的扫描
adquota 编辑每一个人,或每一个用户组的磁盘配额值
edquota [-u username] [-g groupname]
edquota -t
edquota -p username_demo -u username
参数:
-u 后接账号名称,可以进入磁盘配额的编辑界面取
-g 后接用户组名称,可以进入磁盘配额的编辑画面取设置groupname的期限值
-t 可以修改宽限时间
-p 复制范本
通常以edquota -u username或者 edquota -g groupname来编辑个人与用户组
的磁盘配额设置值 也可以直接复制一个人的磁盘配额
dequota -p dname -u sname
-u之后出现的磁盘配额设置字段解释:
filesystem:代表这个磁盘配额是针对哪一个分区
blogcks:这是当前用户在filesystem内的磁盘配额限制值
soft和hard:这是当前dmtsai用户在文件系统内的磁盘配额限制值
soft是警告值,hard是不可超过的值
inodes:磁盘配额自己计算出来的,一般不用修改,innode不容易控制
quotaon [-avug]
quotaon [-vug] [/mount_point]
选项:
-u 针对用户启动磁盘配额
-g 针对用户组启动磁盘配额
-v 显示启动过程的相关信息
-a 根据/etc/mtab内的文件系统设置启动有关的磁盘配额。若不加-a
则后面就需要加上特定的文件系统
因为这个命令是启动aquota.group与aquota.user的,所以必须要先完成
quotacheck的工作,然后执行quotaon -a即可启动
quotaoff [-a]
quotaoff [-ug] [/mount_point]
选项:
-a 全部文件系统的磁盘配额都关闭
-u 仅针对后面的/mount_point关闭用户磁盘配额
-g 用户组磁盘配额
repquota 显示更完整的磁盘配额结果报告
选项:
-a 直接到/etc/mtab搜索具有配额标志的文件系统,并报告结果
-v 输出所有的磁盘配额的结果,而并非仅显示命令自己的配额限制
-u 显示用户的磁盘配额限制
-g 显示个别用户组的磁盘配额限值
磁盘配额实例
步骤:
1.设置分区的文件系统支持磁盘配额参数
启用文件系统支持磁盘配额,最简单的方法是编辑/etc/fstab
2.建立磁盘配额记录文件
用quotacheck扫描,建立aquota.user/aquota.group
3.编辑磁盘配额限制值数据
用edquota来编辑每个用户或用户组的可用空间
4.重新扫描与启动磁盘配额
建立在进行quotacheck,然后再以quotaon启动
总结,这一章,虽然把配额全部设置好了,但是因为命令和实例独立,所以综合到一起脑袋有点乱。加上虚拟机分区不合理,需要把/home独立分区才能完整的实验。
什么是例行性命令
简单的说就是有准儿的,不是突发性的,比如每天几点的时候做什么。
Linux工作任务分配的种类:at,cron
at:工作仅执行一次,然后就从linux任务系统消失
cron:工作将持续做下去
系统常见的例行性命令
默认的工作有下面这些:
登录文件的数据交换(log rotate)
系统默认的重要工作之一,因为登录文件会越来越大,需要适量的
备份登录文件,并用新的文件记录
rpm数据库的建立
建立locale数据库
locale命令搜索速度非常快,主要因为系统将文件与路径记录在数据
库中
程序分析
如果发现僵尸进程灭之
检查登录文件
解析有问题的登录文件,维护主机的安全性
指纹数据库的比较
通常指tripwire套件,可以用来分析最近更改过的文件
仅进行一次的工作任务分配:at [-m] time
要分配这种工作任务,必须要有负责任务分配的服务——atd启动方式如下:
sudo /etc/init.d/atd restart
设置开机启动: chkconfig --level 35 atd on
at的工作:
可以利用/etc/at.allow与/etc/at,deny这两个文件来限制at的使用
写在/etc/at.allow中的用户才能使用at,其他用户不能使用
如果没有/etc/at.allow那么就找/etc/at.deny写在这个文件中的用户
不能使用at 没有在这个文件中的用户就可以使用at.deny
注意一个账号写一行
如果都不存在则只有root可以使用at
选项 :
-m 当at的任务完成后,以电子邮件的方式通知用户该工作完成
time 时间格式可以定义出什么使用要at工作 格式有:
HH:MM 在今日的HH:MM时刻进行,如果超过该时刻则明天进行
HH:MM YYYY-MM-DD 强制某年某月某时做
HH:MM[am|pm] [month] [date]
HH:MM[am|pm] + number [minutes|hours|days|weeks]
例如:
再过五分钟后执行某任务
at now +5 minustes
在23:00 2015/11/11日做任务
at 23:00 2015-11-11
建议使用绝对路径来执行命令,不容易出问题,输出的信息会发送到
用户的邮箱
at要进行工作任务,系统会独立出at的工作交给atd,所以执行了之后
剩下的工作就是系统的工作了。
atq 查询当前主机上有多少at工作任务分配
atrm [jobnumber] 删除号码为jobnumber的工作
循环执行的例行性命令
用户的设置:crontab
限制使用的数据有:/etc/cron.allow 可以将允许使用的账号写入其中
/etc/cron.deny 可以将不允许使用该命令的账号写入
选项:
-u 只有root才能执行此任务,即帮其他用户建立/删除crontab
-e 编辑crontab的工作内容
-l 查看crontab的工作内容
-r 删除crontab的工作内容(会删除所有的,建议直接-e编辑)
0 12 * * * mail test -s "at 12:00" < home/test/.bashrc
/分 时 日 月 周/?-------------命令串---------------?
时间参数的含义:
含 义 分钟 小时 日期 月份 周
数字范围 0-59 0-23 1-31 1-12 0-7(0或7都表示周日)
辅助符号的含义:
特殊字符 代表意义
* 任何时间都可以接受 如上表示无论哪一天12点
, 分割时段的意思 表示在这几个时间点执行
- 表示一个时间范围内
/n 每隔单位时间 */5 * * * * cmd 每5分钟执行一次
系统的设置:/etc/crontab
cron是每分钟去检测一次/etc/crontab,所以最小单位是分钟
如果没有执行,那么重启crond服务, /etc/init.d/crond restart
/etc/crontab
内容格式和上面相似
*/5 * * * * root run-parts /root/runcron 每2分钟执行该目录下
所有可执行文件
MAILTO=root 表示发生错误或输出消息发送给root
PAHT=...输入执行文件的搜索路径
一些使用特征
资源分配不均问题:把任务分时段设置
取消不要的输出
安全检验