DirectAdmin relies on the system quotas to return a value for how much space is being used. DirectAdmin will run
/usr/sbin/repquota /home
Where /home is the quota_partition value set in the /usr/local/directadmin/conf/directadmin.conf file (eg, /home, / or /usr). The command should output a large list of numbers, eg
[root@server]# /usr/sbin/repquota /home *** Report for user quotas on device /dev/hda3 Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 417796 0 0 7446 0 0 nobody -- 4 0 0 1 0 0 bin -- 56880 0 0 510 0 0 majordomo -- 8 0 0 2 0 0 diradmin -- 8 0 0 2 0 0 admin -- 200 0 0 44 0 0 user123 -- 100 0 0 22 0 0 user456 -- 100 0 0 22 0 0
If the “used” column is not showing anything, or users are not in the list, then you'll need to run the quotacheck program:
Redhat:
/sbin/quotaoff -a; /sbin/quotacheck -avugm; /sbin/quotaon -a;
FreeBSD:
/usr/sbin/quotaoff -a; /sbin/quotacheck -avug; /usr/sbin/quotaon -a;
If are getting errors and no output is displayed for the repquota command, you'll need to check your /etc/fstab file to make sure that it contains the rw,userquota,groupquota line beside the partition that is using the quotas. *Important: On Linux (Redhat/Debian), it's usrquota,grpquota, and on FreeBSD it's userquota,groupquota.
Sample /etc/fstab (do not make your's look identical if it's different, this is one example from a specific OS):
# Device Mountpoint FStype Options Dump Pass# /dev/ad0s1a / ufs rw,userquota,groupquota 1 1 /dev/ad0s1e /tmp ufs rw 2 2 proc /proc procfs rw 0 0
In this case, the quota_partition is /. The quota partition should be the partition that holds your users. Generally, this will be one of /home, / or /usr.
Once the repquota program is returning a normal value, then you can run the tally to get the correct usage to show up in DirectAdmin:
echo "action=tally&value=all" >> /usr/local/directadmin/data/task.queue