<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>Quota mini-HOWTO: Quota setup: tools</TITLE> <LINK HREF="Quota-5.html" REL=next> <LINK HREF="Quota-3.html" REL=previous> <LINK HREF="Quota.html#toc4" REL=contents> </HEAD> <BODY> <A HREF="Quota-5.html">Next</A> <A HREF="Quota-3.html">Previous</A> <A HREF="Quota.html#toc4">Contents</A> <HR> <H2><A NAME="s4">4. Quota setup: tools</A></H2> <P> <P>This operation is performed with the edquota command (`man edquota` for details). <P> <H2><A NAME="ss4.1">4.1 Assigning quota for a particular user</A> </H2> <P> <P>Here's an example. I have a user with the login id bob on my system. The command "edquota -u bob" takes me into vi (or editor specified in my $EDITOR environment variable) to edit quota for user bob on each partition that has quota enabled: <HR> <PRE> Quotas for user bob: /dev/hda3: blocks in use: 2594, limits (soft = 5000, hard = 6500) inodes in use: 356, limits (soft = 1000, hard = 1500) </PRE> <HR> <P>"blocks in use" is the total number of blocks (in kilobytes) a user has consumed on a partition. <P>"inodes in use" is the total number of inodes a user has consumed on a partition. <H2><A NAME="ss4.2">4.2 Assigning quota for a particular group</A> </H2> <P> <P>Now I have a group games on my system. "edquota -g games" takes me into the vi editor again to edit quota for the group games: <HR> <PRE> Quotas for group games: /dev/hda4: blocks in use: 5799, limits (soft = 8000, hard = 10000) inodes in use: 1454, limits (soft = 3000, hard = 4000) </PRE> <HR> <H2><A NAME="ss4.3">4.3 Assigning quota for a bunch of users with the same value</A> </H2> <P> <P>To rapidly set quotas for, say 100 users, on my system to the same value as my user bob, I would first edit bob's quota information by hand, then execute: <HR> <PRE> edquota -p bob `awk -F: '$3 > 499 {print $1}' /etc/passwd` </PRE> <HR> <P>assuming that you are using csh, and that you assign your user UID's starting with 500. <P>In addition to edquota, there are 3 terms which you should familiarize yourself with: Soft Limit, Hard Limit, and Grace Period. <H2><A NAME="ss4.4">4.4 Soft Limit</A> </H2> <P> <P>_Soft limit_ indicates the maximum amount of disk usage a quota user has on a partition. When combined with grace period, it acts as the border line, which a quota user is issued warnings about his impending quota violation when passed. <H2><A NAME="ss4.5">4.5 Hard Limit</A> </H2> <P> <P>Hard limit works only when grace period is set. It specifies the absolute limit on the disk usage, which a quota user can't go beyond his hard limit. <H2><A NAME="ss4.6">4.6 Grace Period</A> </H2> <P> <P>Executed with the command "edquota -t", grace period is a time limit before the soft limit is enforced for a file system with quota enabled. Time units of sec(onds), min(utes), hour(s), day(s), week(s), and month(s) can be used. This is what you'll see with the command "edquota -t": <HR> <PRE> Time units may be: days, hours, minutes, or seconds Grace period before enforcing soft limits for users: /dev/hda2: block grace period: 0 days, file grace period: 0 days </PRE> <HR> <P>Change the 0 days part to any length of time you feel reasonable. I personally would choose 7 days (or 1 week). <HR> <A HREF="Quota-5.html">Next</A> <A HREF="Quota-3.html">Previous</A> <A HREF="Quota.html#toc4">Contents</A> </BODY> </HTML>