Skip to content
  • Documentation
  • Tutorials
  • Blogs
  • Product

What's on this Page

  • Data Model
  • Backup
    • Complete backup
    • Partial backup
  • Restore
    • Complete Restore
    • Partial restore
    • Advanced : backup executions in a defined time frame
  1. Step
  2. Admin guide
  3. Maintenance
  4. Backup & Restore
This article references one of our previous releases, click here to go to our latest version instead.

Backup & Restore

What's on this Page

  • Data Model
  • Backup
    • Complete backup
    • Partial backup
  • Restore
    • Complete Restore
    • Partial restore
    • Advanced : backup executions in a defined time frame

Data Model

Step data are organized as collections into MongoDB. Each collection contains a specific type of data, which are explained below. Collections marked (EE) only exist in the Enterprise Edition, and a collection may only be created once the corresponding feature is used for the first time.

Automation

  • plans : the Plan definitions
  • functions : the Keyword definitions
  • parameters : the Parameters
  • plansversions, functionsversions, parametersversions (EE) : the version history of Plans, Keywords and Parameters
  • automationPackages : the deployed Automation Packages
  • resources : the files uploaded or deployed in Step (Automation Package archives, libraries, datasets, attachments etc…)
  • resourceRevisions : the revisions of these files
  • tasks : the Scheduler tasks

Executions and reporting

  • executions : the executions, tab Executions > Execution list
  • reports : the detailed steps (report nodes) of each execution
  • reportNodeTimeSeries : the time series of aggregated report nodes
  • resolvedPlans : the Plan tree resolved for each execution
  • measurements : the measurements recorded during executions
  • views : aggregated information about executions (error and performance statistics etc…)
  • streaming_resources : the attachments streamed live during executions
  • reportLayouts : the layouts of the execution and cross-execution reports

Analytics

  • timeseries : the performance time series of the executions
  • timeseries_minute, timeseries_hour, timeseries_day, timeseries_week and the same suffixes for reportNodeTimeSeries : these time series aggregated per minute, hour, day and week
  • metricTypes, metricSamples : the metric definitions and their samples
  • dashboards : the analytics dashboards
  • lastExecutionBeforeStatusChangeCache (EE) : a cache used by the monitoring dashboard

Alerting and notifications (EE)

  • alerting-rules : the alerting rules
  • incidents : the incidents raised by the alerting rules
  • systemNotificationPresets: the system-wide notifications presets
  • notificationPresets: the per-project notifications presets
  • messages, messagesUserInbox : the messages sent to users and the state of each user’s inbox

Administration

  • users : the registered users
  • userApiTokens (EE) : the API tokens of the users
  • projects (EE) : the projects
  • settings : the controller settings
  • screenInputs : the custom screen inputs as defined under Settings > Screens
  • tablesettings : the column settings of the tables
  • bookmarks : the bookmarks of the users
  • agentProvisioningStatuses : the status of the agent provisioning
  • controllerlogs : the startup logs of the controller, including the Step version
  • migrationTasksStatus : the status of the asynchronous migration tasks

Backup

Complete backup

Assuming you are running MongoDB with the default settings (host localhost, port 27017, no authentication), you can perform backups following below instructions.

To perform a full backup of the Step database, use the following command to output the backup to the backup folder:

mongodump -d step -o backup

If you prefer create a compressed archive, use the following :

mongodump -d step --gzip --archive=backup.gzip

You should see the following output which confirms the backup succeeded :

mongodump -d step -o backup
2026-09-15T10:45:39.677+0000    writing step.plans to backup/step/plans.bson
2026-09-15T10:45:39.677+0000    writing step.functions to backup/step/functions.bson
2026-09-15T10:45:39.678+0000    writing step.executions to backup/step/executions.bson
2026-09-15T10:45:39.678+0000    done dumping step.plans (12 documents)
2026-09-15T10:45:39.679+0000    done dumping step.functions (25 documents)
2026-09-15T10:45:39.680+0000    done dumping step.executions (140 documents)
...

Follow this link to fully restore your database from such a backup.

Partial backup

To perform a backup of a specific Step collection, use the following command :

mongoexport -d step -c <collection_name> -o <collection_name>.json

To display the available collections for backup, connect to your mongo instance and execute the following (example output of an Enterprise Edition instance) :

> use step
switched to db step
> db.getCollectionNames()
[
        "agentProvisioningStatuses",
        "alerting-rules",
        "automationPackages",
        "bookmarks",
        "controllerlogs",
        "dashboards",
        "executions",
        "functions",
        "functionsversions",
        "incidents",
        "lastExecutionBeforeStatusChangeCache",
        "measurements",
        "messages",
        "messagesUserInbox",
        "metricSamples",
        "metricTypes",
        "migrationTasksStatus",
        "notificationGateways",
        "notificationSubscriptions",
        "parameters",
        "parametersversions",
        "plans",
        "plansversions",
        "projects",
        "reportLayouts",
        "reportNodeTimeSeries",
        "reportNodeTimeSeries_day",
        "reportNodeTimeSeries_hour",
        "reportNodeTimeSeries_minute",
        "reportNodeTimeSeries_week",
        "reports",
        "resolvedPlans",
        "resourceRevisions",
        "resources",
        "screenInputs",
        "settings",
        "streaming_resources",
        "systemNotificationPresets",
        "tablesettings",
        "tasks",
        "timeseries",
        "timeseries_day",
        "timeseries_hour",
        "timeseries_minute",
        "timeseries_week",
        "userApiTokens",
        "users",
        "views"
]
> exit

Follow this link to restore a collection from such a collection export.

Restore

Assuming you are running MongoDB with the default settings (host localhost, port 27017, no authentication) and that an archive previously created using the backup procedure exists, use below instructions to restore your database.

Complete Restore

To fully restore a Step database from a backup folder, use the following command :

mongorestore --drop -d step backup

If you prefer to restore the database from a compressed archive previously created, use the following :

mongorestore --drop -d step --gzip --archive=backup.gzip

Warning : using the –drop flag will cause the existing content to be deleted ! You should see the following output which confirms the restore succeeded :

mongorestore --drop backup/
2026-09-15T10:48:29.070+0000    preparing collections to restore from
2026-09-15T10:48:29.089+0000    reading metadata for step.plans from backup/step/plans.metadata.json
2026-09-15T10:48:29.148+0000    reading metadata for step.executions from backup/step/executions.metadata.json
2026-09-15T10:48:29.265+0000    restoring step.plans from backup/step/plans.bson
2026-09-15T10:48:29.584+0000    restoring step.executions from backup/step/executions.bson
2026-09-15T10:48:29.720+0000    finished restoring step.plans (12 documents)
2026-09-15T10:48:30.113+0000    finished restoring step.executions (140 documents)
...
2026-09-15T10:48:31.316+0000    done

Partial restore

To perform a restore of a specific Step collection, use the following command :

mongoimport --drop -d step -c <collection_name> <collection_name>.json

Warning : using the –drop flag will cause the existing collection content to be deleted !

Advanced : backup executions in a defined time frame

As the executions, reports and measurements collections may grow very quickly with the number of tests executions, you may want to export only some of the data associated with executions which ran into a defined time frame.

For this, we need first to export the executions ids present the defined time frame.

As an example, we will export the reports collection using a time frame defined between the 2018/06/06 2 PM and the 2018/06/07 3 PM.

Open a terminal and execute the following command (make sure to replace the start / end times with the values you need) :

mongo localhost/step --quiet --eval "db.executions.find({ '$and': [{'startTime': {'$gt': NumberLong(ISODate('2018-06-06T14:00:00'))}}, {'startTime': {'$lt' : NumberLong(ISODate('2018-06-07T15:00:00'))}}] }).map(e => '\''.concat(e._id.valueOf(),'\'')).toString()" > executions_ids

This will output the execution ids into the file “executions_ids” and its content should look like :

'5b17e8fe064db31178a3c5a1','5b17e936064db31178a3c5f5' 

Now that you have the executions ids, you can execute the below commands in a terminal by replacing the executions ids list with the one you just exported :

Export the reports :
mongoexport -d step -c reports -q "{'executionID': {'$in': ['5b17e8fe064db31178a3c5a1','5b17e936064db31178a3c5f5']}}" -o reports.json 

Export the measurements :
mongoexport -d step -c measurements -q "{'eId': {'$in': ['5b17e8fe064db31178a3c5a1','5b17e936064db31178a3c5f5']}}" -o measurements.json

Export the executions :
mongoexport -d step -c executions -q "{'_id': {'$in': [ObjectId('5b17e8fe064db31178a3c5a1'),[ObjectId('5b17e936064db31178a3c5f5')]}}" -o executions.json 
Topics: Maintenance Data Management Browse all topics

Related documentation

  • Agent installation
  • Controller installation
  • Database installation
  • Housekeeping
  • Upgrade / Migration
  • Home
  • Whats new?
  • Release Strategy
  • Set up
  • Administration
    • Maintenance
      • Backup & Restore
      • Housekeeping
      • Upgrade / Migration
      • Upgrade / Migration of the Helm chart
      • Agent Runtime Image Naming Convention Migration
      • Troubleshooting
    • Project management
    • Role management
  • SaaS guide
  • User guide
  • Developer guide
  • DevOps
  • AI
  • Plugins
  • Libraries
Step Logo
    • Documentation
    • Tutorials
    • Blogs
    • Product
    • Home
    • Whats new?
    • Release Strategy
    • Set up
    • Administration
      • Maintenance
        • Backup & Restore
        • Housekeeping
        • Upgrade / Migration
        • Upgrade / Migration of the Helm chart
        • Agent Runtime Image Naming Convention Migration
        • Troubleshooting
      • Project management
      • Role management
    • SaaS guide
    • User guide
    • Developer guide
    • DevOps
    • AI
    • Plugins
    • Libraries