VuFind exposes its administrative functions through a set of Symfony Console commands registered in theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/vufind-org/vufind/llms.txt
Use this file to discover all available pages before exploring further.
VuFindConsole module. Every command is invoked through the PHP front controller:
--help to any command for its full argument and option documentation.
VUFIND_LOCAL_DIR before running any command that reads configuration files. Without it, VuFind falls back to the base installation defaults and may ignore your local overrides.Import commands
These commands index records from files into Solr without using the shell-levelimport-marc.sh script.
import/import-csv — CSV importer
import/import-csv — CSV importer
| Argument | Description |
|---|---|
csv-file | Path to the CSV file to import |
config-file | Path to the CSV import configuration (.ini) file |
| Option | Description |
|---|---|
--test-only | Perform a dry run without writing to Solr |
import/import-xsl — XSLT importer
import/import-xsl — XSLT importer
| Argument | Description |
|---|---|
xml-file | Path to the XML source file |
properties-file | Path to the import .properties file (e.g. ojs.properties) |
| Option | Description |
|---|---|
--test-only | Dry run; reports what would be indexed without writing to Solr |
import/ include: ojs.properties, dspace.properties, dspace-dim.properties, doaj.properties, ndltd.properties, gsdl.properties, and others.import/webcrawl — Web crawler importer
import/webcrawl — Web crawler importer
website Solr core.Harvest commands
harvest/harvest_oai — OAI-PMH harvester
harvest/harvest_oai — OAI-PMH harvester
oai.ini and writes the results to the harvest directory.| Option | Description |
|---|---|
--ini | Section name in oai.ini to harvest, or a path to an alternative .ini file |
--from | Override the start date for incremental harvest (format: YYYY-MM-DD) |
--until | Override the end date for incremental harvest |
--verbose | Output detailed progress information |
harvest/merge-marc — MARC merge tool
harvest/merge-marc — MARC merge tool
import-marc.sh.| Argument | Description |
|---|---|
directory | Path to the directory containing the MARC XML files to merge |
Language commands
These commands help manage VuFind’s language translation files.language/normalize — Language file normalizer
language/normalize — Language file normalizer
| Argument | Description |
|---|---|
target | Path to a single .ini language file, or to a directory of language files |
language/copystring — String copier
language/copystring — String copier
language/delete — Delete string tool
language/delete — Delete string tool
language/addusingtemplate — Template-based string builder
language/addusingtemplate — Template-based string builder
Upgrade commands
upgrade/config — Configuration upgrader
upgrade/config — Configuration upgrader
| Option | Description |
|---|---|
--from | VuFind version of the old installation to migrate from |
--to | Target VuFind version (defaults to installed version) |
--olddir | Path to the old VuFind configuration directory |
--newdir | Path to the destination local configuration directory |
upgrade/database — Database upgrader
upgrade/database — Database upgrader
| Option | Description |
|---|---|
--no-interaction | Run non-interactively; accept all defaults without prompting |
Utility commands
util/commit — Solr commit tool
util/commit — Solr commit tool
biblio.util/optimize — Solr optimize tool
util/optimize — Solr optimize tool
util/deletes — Tool for deleting Solr records
util/deletes — Tool for deleting Solr records
| Argument | Description |
|---|---|
filename | File containing records or IDs to delete |
format | flat (one ID per line), marc (binary MARC, reads 001), or filename (SolrMarc delete format) |
util/suppressed — Remove ILS-suppressed records from Solr
util/suppressed — Remove ILS-suppressed records from Solr
biblio index.| Option | Description |
|---|---|
--batchsize | Number of IDs to process per Solr delete request (default: 1000) |
util/index_reserves — Course reserves index builder
util/index_reserves — Course reserves index builder
reserves core with course reserve data from the ILS or a CSV file.| Option | Description |
|---|---|
--csv | Path to a CSV file to import instead of querying the ILS |
--delimiter | Field delimiter for CSV input (default: ,) |
--template | Path to a CSV template file describing column mappings |
util/createHierarchyTrees — Cache populator for hierarchies
util/createHierarchyTrees — Cache populator for hierarchies
util/sitemap — XML sitemap generator
util/sitemap — XML sitemap generator
biblio index for submission to search engines.| Option | Description |
|---|---|
--baseurl | Override the base URL set in config.ini |
--outputdir | Directory to write sitemap files to |
util/lint_marc — MARC record linter
util/lint_marc — MARC record linter
Expiry commands
Expiry commands
| Command | Description |
|---|---|
util/expire_access_tokens | Remove expired OAuth access tokens |
util/expire_auth_hashes | Remove expired authentication hashes |
util/expire_external_sessions | Remove expired external session records |
util/expire_login_tokens | Remove expired “remember me” login tokens |
util/expire_oai_resumption | Remove expired OAI-PMH resumption tokens |
util/expire_searches | Remove expired saved searches |
util/expire_sessions | Remove expired user sessions |
util/expire_audit_events | Remove old audit event log entries |
--lifespan option (in days) to control how old records must be before deletion, and a --batch-size option.