[Samba] Re: samba quotas
Dragan Krnic
dkrnic at lycos.com
Mon May 10 15:12:37 GMT 2004
>> Hi guys, we need to update our samba service from 2.2.8a
>> to samba 3.0.x (so that we can upgrade our AD from Win2k
>> to Win2k3). The problem I am having is with the quotas.
>
> I was never able to use the quota functions of samba. I use
> Suse 8.2 with Samba 3.0.3 and XFS. Even the latest samba
> version doesn't recognize quotas correctly. For me quota
> code is broken since beginning in samba.
>
> To get them displayed I use a dirty hack.
> In smb.conf I've added the following line:
> dfree command = "/etc/script.sh %U"
>
> script.sh:
> #!/bin/sh
> used_space=`/usr/bin/quota -u $1 | tail -1 | awk '{print $2}'`
> quota_space=`/usr/bin/quota -u $1 | tail -1 | awk '{print $4}'`
> used_files=`/usr/bin/quota -u $1 | tail -1 | awk '{print $5}'`
> quota_files=`/usr/bin/quota -u $1 | tail -1 | awk '{print $7}'`
> if [ "$used_files" == "$quota_files" ];
> then used_space=$quota_space
> fi
> free_space=`expr $quota_space - $used_space`
> echo "$quota_space $free_space"
I didn't know it was broken. What's broken? It works fine
for me. I don't limit users. I limit projects (groups). Since
a user may be in different projects there wouldn't be a single
quota value or dfree number anyway. The important point is that
each group can only use up what's allocated to it. I display
quotas in a table on swat's status page like this:
Quotas
(See also: "What to do, if Quota is exceeded?")
Group ? Used MBs SoftLimit HardLimit
TOTAL 525637 665000 860000
CALCX 70728 0 0
PM1 1 105741 90000 110000
PM3 67125 70000 80000
............
root 1985 0 0
users 2436 10000 15000
Everyone can see how much of the quota is used up in all of
the groups he belongs to, root can see it all. The question
mark column numbers the days remaining until grace expires.
There's also a mail reminder to the project leader every day
with a size-sorted list of all infringing files.
By the way, I think your script is broken. Not only can you
spare 3 iterations of quota and awk but the 5th and 7th
columns ($5 and $7) of the quota output are "grace" and
"(#files-)quota" if a value exceeds the limit instead
of "files" and "limit", which is probably intended by you.
A more careful coding would be:
quota -u $1 | tail -1 | awk 'NF>7{$5=""} {print}' | \
read a used_space a quota_space used_files a quota_files a
But I digress. What did you think was wrong with quotas in samba?
More information about the samba
mailing list