linux批量设置用户磁盘配额

设置规则:
1、每个用户最多只能存放20MB的文件,而且最多只能建立200个文件。
2、当建立超过100MB大小的文件,以及超过100个文件时,就警告用户。
3、因为有一些用户已经超出了上述限制,所以我们必须先用电子邮件通知用户,尽快处理多余文件。
2、由于事发突然,为了避免强烈的用户反映,先给每一个用户7天的期限,以便用户有机会备份文件;但当7天后就把期限自动改为2天。

解决办法:
1、设置每一个用户帐号的磁盘配额。
2、设置完毕后立即寄发通知信给所有超出限制的用户。
3、7天后自动将期限改为2天。

步骤:
1、设置每一个用户帐号的磁盘配额。
  使用edquota配合-p参数 
  先使用edquota手动配置好一个用户的磁盘配额设置,然后将其设置为范本,调用到其它用户上,执行命令为:
dequota [-u|-g] -p TEMPNAME NAMES
其中TEMONAME就是模板用户的名称,而NAMES则是要调用的所用的用户名称。例如:
dequota -p jacky allen bill cherry
这个例子就是以jacky为模板,将jacky的磁盘配额设置调用到 allen bill cherry等用户的身上。
 另一种使用方法为使用setquota工具。配合Shell的循环技巧,设置每一个用户的磁盘配额。
for user in jacky allen bill cherry;
do
setquota ${user} 10240 20480 100 200/data
done
这种方法需要输入大量用户名字。
这里可以用awk将UID大于等于500的普通用户提取出来。
awk -F: '{ if($3>=500) print $1}' /etc/passwd
再将上述结果交给edquota使用即可。
awk -F: '{ if($3>=500) print $1}' /etc/passwd |xargs edquota -p jacky
使用setquota为
for user in (awk -F: '{ if($3>=500) print $1}' /etc/passwd);
do
setquota ${user} 10240 20480 100 200/data
done
2、设置完毕后立即寄发通知信给所有超出限制的用户。
我们可以通过warnquota寄出电子邮件给那些超过磁盘配额限制的用户。但warnquota会以/etc/warnquota.conf 
的内容产生英文邮件,况且我们想定制邮件,虽然我们可以修改/etc/warnquota.conf但是只需基础一次邮件,以后
不会寄出。寄出去后还需要还原回来。
所以我们可以产生一个与/etc/warnquota.conf格式相同文件。例如,我在我的~/warnquota.conf 
MAIL_CMD = "/usr/sbin/sendmail -t"
FROM
SUBJECT =注意:你已经超出了磁盘配额的限制了
CC_TO = "root@localhost"
SUPPORT = "me@myhost.com"
PHONE = "15*********"
MESSAGE         =您好,你的磁盘配额已超过警戒值,|请删除不必要文件。
SIGNATURE = me@myhost.com
然后执行下列命令,就可以令warnquota暂时使用我们的配置文件也就是(~/warnquota.conf )寄出所有的电子邮件了。
[root@guo ~]# warnquota  -c ~/warnquota.conf 
3、7天后自动将期限改为2天(自动修改日期)。
可以使用两种方法来设置磁盘配额的系统期限,第一种是通过edquota:
edquota -t
执行上述命令后,edquota会开启$EDITOR环境变量定义的编辑软件,让你设置磁盘的配额的期限。
然后用at进行定时服务。

at 0am+7days

将期限改为2天。

      到这里所有的需求任务全部完成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux中,可以使用磁盘配额来限制用户或组的磁盘使用量。以下是设置用户磁盘配额的步骤: 1. 确认文件系统支持磁盘配额 在终端中输入以下命令,检查文件系统是否支持磁盘配额: ``` sudo grep -w "quota" /etc/fstab ``` 如果返回结果为空,则表示文件系统不支持磁盘配额。如果返回结果中包含了“quota”字样,则表示文件系统支持磁盘配额。 2. 安装磁盘配额管理工具 在终端中输入以下命令,安装磁盘配额管理工具: ``` sudo apt-get install quota ``` 3. 启用磁盘配额 在终端中输入以下命令,启用磁盘配额: ``` sudo quotacheck -cu /path/to/filesystem sudo quotaon /path/to/filesystem ``` 其中,/path/to/filesystem是要启用磁盘配额的文件系统路径。 4. 设置用户磁盘配额 在终端中输入以下命令,设置用户磁盘配额: ``` sudo setquota -u username block-softlimit block-hardlimit inode-softlimit inode-hardlimit /path/to/filesystem ``` 其中,username是要设置配额的用户名,block-softlimit和block-hardlimit是磁盘块的软限制和硬限制,inode-softlimit和inode-hardlimit是inode的软限制和硬限制,/path/to/filesystem是要设置配额的文件系统路径。 例如,要设置用户“john”的磁盘配额为100MB和150MB,inode配额为10000个和15000个,可以输入以下命令: ``` sudo setquota -u john 100000 150000 10000 15000 /dev/sda1 ``` 5. 查看用户磁盘配额 在终端中输入以下命令,查看用户磁盘配额: ``` sudo quota -u username ``` 其中,username是要查看配额的用户名。 以上就是设置用户磁盘配额的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值