Operations tasks
This folder holds short, numbered procedures for the administrators who run a public website. Each task names what you need before you start, gives the exact commands and admin screens, says how to check the result, and notes what to put in a change record. The explanations behind them are in Running Exponential in the public sector; the hosting companies' versions are in Hosting operations.
Contents
- Maintenance, backup and restore
- Caches and deploys
- Cronjobs
- Logs and the audit trail
- Checks and evidence
- Certificates, databases and configuration
- Suggested order
- Related pages
Maintenance, backup and restore
| Task | Answer in one line |
|---|---|
| Take the site into maintenance for an upgrade | Setup > Maintenance or maintenance.php on with a message, a duration and allowed addresses. |
| Bring the site back online | Switch off, clear the caches in front, check 200, resume cron. |
| Take a backup before a change | Database dump and file archive inside the window. |
| Back up a SQLite site safely | sqlite3 ... ".backup ...", never a file copy. |
| Restore last night's backup to a test server | Restore with the file mail transport; record the time taken. |
| Pause cronjobs during maintenance | Pause on Setup > Cronjobs, with a note; resume after. |
Caches and deploys
| Task | Answer in one line |
|---|---|
| Clear caches after a settings change | --clear-tag=ini, reload or deploy, page caches last. |
| Clear caches after a template change | Template caches, override cache for new templates, then page caches. |
| Clear the Velocity response cache | exp:velocity cache clear, after the new code runs. |
| Warm the caches after a deploy | preload.php, warm.php or Preload Sites. |
| Deploy a PHP change | exp:velocity deploy --dry-run, then for real. |
| Enable the static cache | Generate, check, StaticCache=enabled. |
Cronjobs
| Task | Answer in one line |
|---|---|
| Check that cronjobs run | crontab:list, Setup > Cronjobs, the workflow status bar. |
| Run a cronjob part by hand | Run part, or runcronjobs.php --script=workflow.php. |
Logs and the audit trail
| Task | Answer in one line |
|---|---|
| Read the error digest | The daily five minutes on Error digest. |
| Check log health | Disk budget, growth, permissions, rotation in effect. |
| Rotate and prune logs | exp:logs --rotate-all, --prune, always --dry-run first. |
| Review the security log weekly | Rules, high-confidence 200s, floods, a short record. |
| Find an error by its reference | exp:logs --reference=ERR-... or the viewer's search. |
| Verify the audit trail | exp:audit verify; exit 1 means broken. |
| Check who gets audit alerts | exp:audit alerts recipients; a team mailbox. |
| Export audit records for an auditor | Audit > Export or exp:audit export --format=bundle. |
Checks and evidence
| Task | Answer in one line |
|---|---|
| Check upgrade consistency | Check file consistency or checkmanifest.php --all. |
| Check the database schema | Check database consistency; apply SQL only after a backup. |
| Read system information for a support request | Download report (.txt), secrets left out. |
| Check security headers | Five headers, 404 for dot files, cookie flags. |
| Check file and directory permissions | Only var/ writable, one owner, hardened modes. |
| Check PHP extensions before an upgrade | exp:velocity ext check and the deprecations log. |
| Monthly operations review | One hour, fifteen items, one record. |
Certificates, databases and configuration
| Task | Answer in one line |
|---|---|
| Renew an HTTPS certificate in Velocity | exp:velocity ssl show and ssl renew; no restart. |
| Switch Velocity to Let's Encrypt | mode: letsencrypt, staging directory first. |
| Add a read replica | UseSlaveServer on MySQL or MariaDB. |
| Fail over to a standby database | No automatic failover: change Server, clear INI, deploy. |
| Sign out all sessions of a user | Disable, change the password, or remove sessions. |
| Set up environment-specific settings | EXP_ENV and variant files. |
| Lock configuration with ManagedByDeployment | One switch; changes only through deployment. |
Suggested order
Before go-live: environment settings, permissions, security headers, audit alert recipients, cronjobs, a backup and a restore test, ManagedByDeployment. Then the routine: the error digest daily, the security log weekly, the monthly review. Keep the maintenance, deploy and restore tasks at hand for change windows.
Up: Tasks and Running Exponential in the public sector. The section landing page is Governments: start here.
Related pages
- People and permissions tasks
- Incidents
- Operating a site
- Hosting checklists
- 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.