CGI Script Repository & Execution Environment
Manage, monitor, and execute legacy CGI scripts for the archive preservation pipeline. All scripts run in isolated chroot environments.
Scripts
Execution Console
Logs
Documentation
| Script | Path | Status | Last Run | Action |
|---|---|---|---|---|
| fetch-archive | /cgi-bin/archive/fetch.cgi | Active | 2 min ago | |
| render-static | /cgi-bin/render/static.cgi | Queued | 14 min ago | |
| geo-cities-import | /cgi-bin/import/geocities.cgi | Error | 1 hr ago | |
| link-graph | /cgi-bin/analysis/links.cgi | Active | 5 min ago | |
| backup-snapshot | /cgi-bin/maintenance/snap.cgi | Idle | 1 day ago |
cgi-exec@archive-node-01
[root@cgi-env]# systemctl status cgi-runner
● cgi-runner.service - 1990 Web Archive CGI Execution Daemon
Active: active (running) since Mon 2024-01-15 08:30:00 UTC
Tasks: 14 Memory: 248M CGroup: /system.slice/cgi-runner.service
[root@cgi-env]# queue --list --pending
[2] render-static.cgi | ETA: 00:04:12
[3] link-graph.cgi | ETA: 00:01:45
[root@cgi-env]# execute --script fetch-archive --mode deep
- 10:42:18INFOfetch-archive: Successfully retrieved 412 pages from Wayback mirror
- 10:40:05WARNrender-static: CSS parser fallback triggered for Netscape 4.0 layout
- 10:38:51ERRgeo-cities-import: Timeout after 120s on /geocities/Athens/2481/
- 10:35:22INFOlink-graph: Completed crawl of 1.2k nodes, 4.8k edges
- 10:30:00INFOSystem: Daily integrity check passed. 0 corrupted archives detected.
- 09:55:14WARNbackup-snapshot: Disk usage at 78%. Throttling writes.
- 09:12:08INFOfetch-archive: MIME type detection updated for .hqx and .sit files
- 08:45:33ERRrender-static: Failed to parse frameset in legacy document
CGI Path Conventions
All executable scripts must reside under /cgi-bin/ or its subdirectories. Relative paths in scripts are resolved against the chroot environment at /var/cgi-root/.
Environment Variables
ARCHIVE_BASE→/mnt/archive-1990RENDER_MODE→exact|modern|hybridLOG_LEVEL→debug|info|warn|errTIMEOUT→120(seconds)
Execution Limits
Scripts are subject to ulimit -t 300 (CPU seconds) and ulimit -v 512000 (virtual memory MB). Long-running tasks must use the --daemonize flag and register with the queue manager.
Security Notes
All CGI processes run under the www-cgi user with read-only access to archive volumes. Network access is restricted to approved archival mirrors and DNS resolvers. Shell execution is disabled by default.