Command reference

Auto-generated by scripts/build-reference.py. Do not edit by hand.

Command Purpose Documented in
autosymlink Root worker for native files/private symlinking - global modes DRY (default) / report / live / batch / --batch-if-clean, plus narrow single-site mode --site <url> [--account <oNNN>] [--apply] [--force-unshare] used by the Provision install/clone/migrate hooks; crash-safe conversion, logs to /var/log/boa/autosymlink.log /operating/files-symlinking/tools-reference
clearwebbans One-shot idempotent recovery from web-IDS false positives - removes permanent 'Brute force Web Server' csf.deny entries and temporary 80/443 bans, clears web.log and scan_nginx archive logs plus the nginx-native IPv6 web-ban store (web6.tempban), resets the scan_nginx byte-offset to end of access.log, regenerates both nginx geo-ban sets (IPv4 via nginx_deny.sh, IPv6 via nginx_deny6.sh); SSH/FTP bans untouched; supports --dry-run; lock /run/clearwebbans.lock /operating/abuse-guard/operations
dhcpfix Safe-on-live-servers DNS recovery tool - installs the /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate no-op hook (so dhclient can never overwrite resolv.conf on lease renewal) and writes the canonical resolv.conf once (127.0.0.1 plus 1.1.1.1/8.8.8.8/9.9.9.9 fallbacks), leaving it mutable; no lease release/renew, no dhclient.conf rewrites; _DEBUG_MODE=YES env gives verbose [dhcpfix] output /operating/troubleshooting/dns-resolver
fix-drupal-site-symlinks.sh Hardened NOPASSWD sudo entry point (/usr/local/bin, 700 root) letting aegir/oN users trigger the root-level single-site conversion - accepts only --site=<url> [--account=<oNNN>] [--force-unshare], fail-closed token validation, cannot reach autosymlink's global batch/live modes; the documented manual recovery for incomplete clone unshares /operating/files-symlinking/tools-reference
floodreport Read-only summariser of Abuse Guard i18n-flood activity from /var/xdrago/monitor/log/i18n_flood.log and the per-trip snapshot dir - per-vhost event counts, timeline, merged attack profile and findings (SATURATION / LOAD-PAUSE / SHED / DETECT); options --days N, --hours N, --data DIR, --json /operating/abuse-guard/operations
hosting-dispatch Centralized command that dispatches the registered queue processors (tasks, cron, task_gc) /developing/aegir-apis/hosting-api
hosting-import Import an existing back-end context name into the front end /developing/aegir-apis/hosting-api
hosting-pause Prepare the hostmaster site to be migrated to a new platform /developing/aegir-apis/hosting-api
hosting-resume Complete the migration of the hostmaster site to a new platform /developing/aegir-apis/hosting-api
hosting-setup Set up initial configuration such as the cron entry for the queue dispatcher /developing/aegir-apis/hosting-api
hosting-task Execute a specific queue item (one Aegir task node) /developing/aegir-apis/hosting-api
loadguard Standalone load-policy CLI (verbs enforce | ok-tasks | ok-spiders | run-tasks) installed at /opt/local/bin/loadguard but NOT wired into any shipped crontab - manual-only placeholder orchestrator; second.sh remains the live load-control enforcement path; kill filter targets only processes older than _KILL_MIN_RUNTIME (900 s default) /operating/monitoring/load-control
loadreport Read-only /proc load profiler answering which recurring BOA agents drive idle load - modes live (default), --json, --log (append daily JSONL history), --data (summarise an off-node corpus); header shows the box's live monitor-throttle class; cron-logged every 30 min at idle priority /operating/monitoring/loadreport
migratefs Operator-only relocation of account static/files stores and shared /data/disk/arch onto the single attached /mnt filesystem, symlinked back (<mount>/files/<oN>/static/files and <mount>/files/system/arch) - DRY plan by default, --apply to perform; options --target <mount>, --account <oN> (implies skipping arch), --no-arch, --yes, --grace <sec> (default 15); refuses to run with more than one /mnt mountpoint; never scheduled/automated /operating/migration-cloning/migratefs-storage-relocation
owl.sh Nightly maintenance orchestrator (/var/xdrago/owl.sh, replaces daily.sh) - freezes run state into /run/night/run.env and dispatches the night/ workers (night.inc.sh, 10-account.sh, 20-sites.sh, 90-global-post.sh); launched from root crontab at 04:15; optional parallel account fan-out via _NIGHT_PARALLEL/_NIGHT_MAX_PARALLEL; per-account logs /var/log/boa/daily/acct-<user>-<NOW>.log; xoct/xcopy disable toggle /var/xdrago/.owl.sh.off; skips entirely on /root/.proxy.cnf or /root/.pause_heavy_tasks_maint.cnf boxes /operating/monitoring/nightly-owl
provision-backup Generate a backup tarball of DB, files and config /developing/aegir-apis/provision-api
provision-clone Clone a site to a new name on the same platform /developing/aegir-apis/provision-api
provision-delete Backup and remove a site, or remove an empty platform /developing/aegir-apis/provision-api
provision-deploy Re-deploy a backup tarball with pre and post upgrade hooks /developing/aegir-apis/provision-api
provision-disable Disable a running site by swapping its vhost for a disabled redirect /developing/aegir-apis/provision-api
provision-dlock Lock a platform's local (vendor) Drush - thin wrapper that auto-fixes the platform root and delegates to the canonical lock path used by Platform Verify; detection-based idempotent (re-running in the locked state is a clean no-op) /developing/aegir-apis/provision-api
provision-dunlock Unlock a platform's local Drush before vdrush/composer work; idempotent, and Verify/upgrade re-locks all platforms automatically /developing/aegir-apis/provision-api
provision-enable Re-enable a disabled site /developing/aegir-apis/provision-api
provision-import Detect existing site directories on a platform and register them as Aegir site nodes /developing/aegir-apis/provision-api
provision-install Install a new Drupal site (DB, files, vhost, install profile) /developing/aegir-apis/provision-api
provision-lock Lock a platform against new site creation /developing/aegir-apis/provision-api
provision-login-reset Generate a one-time admin-login URL for the site /developing/aegir-apis/provision-api
provision-migrate Move a site to a different platform (used for Drupal-version upgrades) /developing/aegir-apis/provision-api
provision-restore Revert a site to a previous backup tarball /developing/aegir-apis/provision-api
provision-save Save a context to disk (used internally by other commands) /developing/aegir-apis/provision-api
provision-stats Return Drupal stats such as user count and post count /developing/aegir-apis/provision-api
provision-unlock Unlock a platform so new sites can be created again /developing/aegir-apis/provision-api
provision-verify Re-emit Nginx vhost and settings.php from current Aegir context (idempotent) /developing/aegir-apis/provision-api
symlinkinfo Read-only query of one or more sites' files-symlink and archive history from autosymlink logs plus the live filesystem - reports conversions, State NOW (active/disabled/deleted/partial), Store NOW and every archive event; options --logs-only, --fs-only, --log-dir DIR, --disk-root DIR /operating/files-symlinking/tools-reference
updatesymlinks Root wrapper around autosymlink with queue pausing, locking, load guards and email - 'updatesymlinks --auto-fix' (gated by _AUTOSYMLINK_NIGHTLY=YES) pauses the Aegir queue, waits _AUTOSYMLINK_PAUSE_GRACE (240 s default), then runs the batch-if-clean apply; '--orphan-report' (gated by _ORPHAN_FILES_REPORT=YES) is read-only and never pauses tasks; argless run = legacy full manual mode; '--debug|-d' explains why a run did nothing; cron line 47 0-5,22,23 * /operating/files-symlinking/nightly-automation