Disk Quotas

Overview

Each client is assigned a disk quota enforced at the OS level. Writes fail gracefully when the limit is reached — SFTP uploads and PHP file operations are blocked, but existing content is unaffected. Default is 2 GB.

Check usage

repquota -s /                   # all clients at a glance
quota -u clientname             # one client
du -sh /var/www/clients/acme/   # actual directory size

Change a client's quota

cx1-set-quota.sh acme 5G     # set to 5GB
cx1-set-quota.sh acme 500M   # set to 500MB
cx1-set-quota.sh acme 20G    # set to 20GB
✅ Change takes effect immediately — no restart required.

Recommended sizes

Client typeSuggested quota
Brochure / small business site2–5 GB
Blog / media-heavy site5–20 GB
eCommerce with product images20–50 GB
High-volume file storage50 GB+

What happens when quota is full

⚠️ WordPress and CMSs may show errors when quota is full. Increase quota before the client reports problems — a weekly cron alerts at 80% usage.

Quota alerts

A cron runs every Sunday 06:00 and emails root when any client exceeds 80%. To change the recipient, edit /etc/cron.d/cx1-quota-alerts.

Remove quota limit (unlimited)

setquota -u clientname 0 0 0 0 /

Troubleshooting

quotaon -v /          # ensure quotas are active
mount | grep usrquota # confirm mount option
repquota -s /         # full usage report