Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Runbook: disk full

What to do when the disk of an Exponential site fills up: find what grew (storage, caches, logs, database, backups), free space safely with the cache and log commands, never delete storage or settings, and prevent a…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/hosting/runbooks/disk-full.md

On this page

Runbook: disk full

For on-call staff when a server or a customer account runs out of disk space. Symptoms: uploads fail, publishing fails, pages show errors, logs stop growing, the database refuses writes.

Contents

  1. First five minutes
  2. What may be removed, and what never
  3. Freeing space safely
  4. After the incident

First five minutes

  1. Confirm and find the file system:

    df -h /var/www/vhosts/<domain>
  2. Find what grew, in the installation:

    du -sh var/* | sort -h | tail -15
    du -sh var/storage var/cache var/log var/vc 2>/dev/null
  3. Check outside the installation: backups written to the same disk, the database server's data directory, system logs, PHP session files.

What may be removed, and what never

PathRemove?Why
var/cache, var/<site>/cacheyes, through the cache command"Caches ... need no backup: they are regenerated" (10.9)
Rotated log archives (*.log.1 ... and compressed archives)yes, through exp:logs --prunethey are old copies
var/log/*.log (the current logs)empty them through exp:logs --truncate, not by deletingkeeps the files and their permissions
var/storage, var/<site>/storageneveruploads and images: customer data
settings/neverthe installation's configuration
var/storage/sqlite3/never by handthe SQLite database and its -wal and -shm files
Old backups on the same diskby your retention policyand move future backups off the machine

Freeing space safely

Caches. Clear them with the cache command; it knows the paths of every site:

php bin/php/ezcache.php --clear-all --allow-root-user

Pages are slower until the caches are warm again; warm them with php bin/php/warm.php --allow-root-user when there is space.

Log archives. See them, plan, then prune:

./console exp:logs --archives                 # each log with its archives and their sizes
./console exp:logs --prune --dry-run          # the archives beyond the site.ini [FileSettings] limits
./console exp:logs --apply --prune                    # remove them
./console exp:logs --apply --compress                 # compress the archives from .2 on

A log that grows fast. Find out why before you empty it; a log that grows by megabytes a minute is a symptom. ./console exp:logs --list shows lines a minute per file. Then:

./console exp:logs --apply --truncate=debug           # rotate it (the content stays in .1)

Velocity's logs are under var/vc/qbix/log and rotate with a date in the name; old ones can be archived or removed by your log policy (Log viewer and rotation).

SQLite. A large -wal file shrinks at a checkpoint; VACUUM reclaims space after large deletions but needs free space of its own. Read ANALYZE, VACUUM and the WAL file before you run anything.

Warning

Do not run rm -rf on directories under var/ by hand during an incident. A wrong path removes customer uploads, and a cache directory removed while workers run can leave files with the wrong owner. Use the commands above.

After the incident

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x