Operations
This section is for the system administrators and support staff of a hosting company who keep Exponential sites running after the day they go live. It answers four questions: what does an Exponential site keep on disk, how do you back it up and get it back, how do you see that it is healthy, and how do you change it (cron, mail, updates, deploys, maintenance windows) without surprising the customer.
Every page in this section names the commands, settings and paths it relies on and links the documentation in the repository where they are described, so you can check each statement yourself. Start with Hosting companies: start here if you are new to Exponential.
Contents
The pages of this section
Storage and scaling
- Storage layout: what lives under
var/, what must be writable, what can be regenerated. - Clustering and shared storage: the DFS cluster file handler, its database table, the NFS mount and the commands that maintain it.
- Several web nodes: what changes when more than one machine serves one site: database, files, sessions, caches, trusted proxies.
Backups and restore
- Backups: what to back up: the database and the files, taken together, and the keys that must never be lost.
- Backup schedules and retention: options for how often and how long, framed for a hosting offer.
- Database backups per engine: the backup and restore commands for each of the six supported databases, in the official order.
- Restore and restore tests: the restore procedure and how to prove that a backup works.
Monitoring and logs
- Monitoring overview: the status commands, health checks and logs that tell you a site is well.
- Request logs:
404.logandsecurity.log, what goes into them and how they are kept. - Security log: the request classifier,
auth.logand the audit trail as a host's view of attacks. - Log viewer and rotation: Setup > Log files,
exp:logs, rotation, pruning and the disk budget. - The system card for hosts:
exp:expfetchat login, its health hints,--watchandexp:info --jsonfor monitoring and inventories. - Health checks and uptime: what an external monitor should request and what a check inside the server should run.
Scheduled work and mail
- Cron jobs: the cronjob parts, the crontab lines and who runs them.
- The cronjob console: Setup > Cronjobs for support staff and customers, pausing parts.
- Mail delivery: the sendmail, SMTP and file transports and what a host has to provide.
- Mail consent and bounces: the mail gate, the suppression list and the bounce mailbox reader.
Changing a site
- Automated updates with ezupdate: the package manager in the administration, its switches and its command line.
- Upgrading customer sites: bringing an installation to a new Exponential release.
- Deploying changes:
exp:velocity deploy, the cache order and configuration managed by the deployment. - Maintenance mode: taking a site offline for a window and bringing it back.
The operations tools Exponential ships
Most of the work in this section is done with a handful of commands and administration pages. All of them are part of
the kernel (the commands live in kernel/private/classes/commands/).
| Task | Command line | Administration |
|---|---|---|
| Take a site offline | php bin/php/maintenance.php on|off|status | Setup > Maintenance |
| Read and rotate logs | ./console exp:logs | Setup > Log files |
| Check the audit trail | ./console exp:audit status, exp:audit verify | Audit tab |
| Run cronjobs | php runcronjobs.php -s <site> <part> | Setup > Cronjobs |
| Health and versions | ./console exp:systeminfo | Setup > System information |
| Caches | ./console exp:cache status, php bin/php/ezcache.php | Setup > Caches |
| Ship a code change | ./console exp:velocity deploy | |
| Measure performance | ./console exp:benchmark | |
| Mail preferences | ./console exp:mail:status | Setup > E-mail preferences |
./console is the shortcut for bin/php/console in the installation root. Run every command as the site's own system
user; as root the scripts refuse to start unless --allow-root-user is added, and files they create then belong to
root (chapter 11).
Tip
./console list prints every command the installation has, with a one-line description. On a host with many
customers, run it once per Exponential release you support and keep the output with your runbooks.
Where to start
| You are | Read first |
|---|---|
| Building the backup service | Backups: what to back up, then Database backups per engine |
| Setting up monitoring | Monitoring overview, then Health checks and uptime |
| Answering support tickets | Log viewer and rotation, Cron jobs, Mail delivery |
| Planning upgrades for many customers | Upgrading customer sites, Maintenance mode |
| Designing a multi-server offer | Several web nodes, Clustering and shared storage |
The installation book covers the same ground for a single site, in more depth: chapter 10, After installing, and chapter 12, Troubleshooting. The guide Operating a site is the short version for a site administrator.
Related pages
- Hosting companies: start here
- Hosting basics, Security, Performance
- Checklists and Runbooks
- Operating a site (guide)
- When something goes wrong
- Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.
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.