Control systems

PLC and SCADA backups you can actually restore

A backup counts only if it matches the running system, includes configs, licences and software versions, and has passed a restore test. Checklist and schedule.

Topic
Control systems
Updated
13 November 2026
Reading time
6 min
Sections
7
Server racks with rows of drives and indicator lights.
Overview

A PLC or SCADA backup is only useful if the saved version matches what is running in the field, includes the network configuration, licences and engineering software version, and has been restored successfully in a test.

Most sites have backup files. Far fewer have backups they can restore at three in the morning when a CPU or a SCADA server dies. This guide covers what a complete backup contains, why restores fail, how to prove a copy matches the running system, how to test a restore and how often to save. It builds on the SCADA architecture guide, because every layer in that chain needs its own copy.

What a complete backup contains

Checklist

What a complete backup contains

A control system backup is a set of files, not one file. Each layer of the system holds something the others cannot rebuild.

The PLC program is the obvious part. Just as important are the HMI and SCADA project, the tag database, the historian and any application database, the configuration of gateways and converters, and the network settings that let them find each other. Firmware versions, licences and the exact engineering software version decide whether those files can be opened at all. Documents such as the I/O list, topology drawing and change records explain how the pieces fit.

Citia's PLC/SCADA assessment material makes the same point: PLC programs, gateway configurations, databases, SCADA projects and engineering documents serve different roles, so one backup must not be assumed to cover every layer. The grid below is a practical checklist.

Do not forget the small devices. Protocol gateways, serial converters and managed switches each hold settings that took hours to get right, and they are often missing from backup sets because they have no project file of their own.

  • PLC programs

    Uploaded from the running controller, with its firmware version.

  • HMI and SCADA project

    Graphics, tags, alarms, scripts and drivers.

  • Databases

    Historian, recipes and application data.

  • Gateway configuration

    Protocol converters, serial settings and register maps.

  • Network settings

    IP addresses, switch configuration, routing.

  • Software and licences

    Installers, versions, licence files or keys.

  • Documents

    I/O list, topology, P&ID, change records.

  • Backup register

    Who saved what, when, from where, and the last restore test.

Why backups fail at restore time

Failure modes

Why backups fail at restore time

A backup usually fails for a dull reason: it is old, incomplete or cannot be opened. These problems stay hidden until the day the copy is needed.

The repair of the switchgear monitoring system at Petrokimia Gresik shows several at once. The existing backup could not be downloaded because the controller firmware had been upgraded, so a newer ABB Freelance version had to be installed on the engineering station. On top of that, the old engineering station hard disk had failed, so the last program was no longer available, and the system had to be reviewed and re-programmed. See the Petrokimia Gresik recovery.

Other common causes are just as ordinary:

  • the saved copy is older than the program running in the field;
  • the only copy sits on the engineering PC that just failed;
  • nobody recorded which software version opens the file;
  • the licence was tied to a dongle or PC that no longer exists;
  • gateway and converter settings were never saved at all;
  • the copy was taken while a forced value or test mode was still active.

At Mayora in Cianjur, the lessons recorded after a chiller SCADA repair included that backups of PLC and SCADA configuration help recovery. See the Mayora chiller SCADA repair.

Proving the backup matches what is running

Verification

Proving the backup matches what is running

A backup is trustworthy only when it has been compared with the live system. Most engineering tools can compare an offline project with the program in the controller and list every difference.

Make that comparison part of each save. Upload from the controller, compare it with the last stored version, and record the result. If they differ and nobody can explain why, treat that as a finding: an undocumented change has happened, and it needs an owner before the next fault.

A backup register keeps the evidence in one place. Each entry names the asset, firmware, file, software version, licence, a checksum of the file, the comparison result and the last restore test. The example on the right shows one entry.

YAML
# Example only: one entry in a backup register
asset: PLC-PUMP-01
location: pump house panel
controller: <vendor> <CPU model>
firmware: <version read online>
program_file: PLC-PUMP-01_<date>.zip
saved_from: online upload
engineering_software: <product> <version>
licence: <licence ID or dongle>
checksum: <file hash>
compared_with_online: yes, no differences
last_restore_test: <date>, spare CPU, passed
change_ref: <work order or change record>
copies: site server, offline drive, off-site
Example backup register entry. Field names are illustrative.
How to run a restore test

Restore test

How to run a restore test

A restore test proves that a copy can rebuild a working system. It does not need to touch the running plant.

Use a spare CPU, a test rack or a virtual machine for the SCADA server. Install the engineering software version recorded in the register, restore the files, and check that the program opens, compiles and matches the online version. For SCADA, confirm that graphics load, drivers start and tags resolve. Write down every gap, such as a missing licence or driver, and fix it in the backup set, not only on the test machine.

The US Cybersecurity and Infrastructure Security Agency (CISA) makes the same point in its 2025 guidance on operational technology: software backups and standby systems should be tested routinely, so that manual operation is possible and safe during an incident.

Schedule restore tests like any other maintenance task, at a fixed interval agreed for each critical system and after every major software upgrade. A test that is planned gets done; one that waits for a quiet week does not.

  1. Pick the target

    Spare CPU, test rack or virtual machine, never the live system.

  2. Install the recorded software

    Use the exact engineering software version and licence.

  3. Restore the files

    Program, project, database and configuration from the backup set.

  4. Check it works

    Opens, compiles and matches the online version; screens and tags load.

  5. Record the result

    Date, target, outcome and gaps found, in the backup register.

  6. Close the gaps

    Add missing files or licences to the backup set and retest.

How often to back up

Schedule

How often to back up

Back up whenever something changes, and on a fixed routine in case a change slipped through. The trigger matters more than the calendar.

The table links common events to what should be saved. The routine interval depends on how often the site changes; at the Padalarang fuel terminal, for example, the TAS maintenance team makes a database backup on the server during each monthly visit. See the Padalarang TAS lifecycle support.

CriterionWhat to saveWhen
PLC program changeUploaded program, change record, comparison resultBefore and right after the change
Firmware upgradeProgram, new firmware version, engineering software versionBefore and after the upgrade
SCADA graphic or tag changeSCADA project and tag databaseAfter the change is accepted
Network or IP changeSwitch, gateway and device settings, updated topologyAfter the change
Device or gateway replacedNew device configuration and register mapAt commissioning
RoutineFull set, compared with online versionsOn a fixed interval agreed for the site
Storing backups safely

Security

Storing backups safely

A backup stored on the machine it protects disappears with that machine. Keep copies in more than one place, and keep at least one offline.

Control who can write to the backup store, so that a mistake or an attacker cannot replace good copies with bad ones. A checksum recorded in the register shows whether a file has changed since it was saved. Keep installers and licence files with the backups, because a vendor download page may not offer an old version years later.

Backups belong inside the site's wider OT security programme. ANSI/ISA-62443-2-1-2024, part of the ISA/IEC 62443 series, sets security programme requirements for asset owners of industrial automation and control systems. NIST SP 800-82 Rev. 3 gives guidance on securing operational technology while keeping its performance, reliability and safety needs in view.

Who owns backups, and what comes next

Ownership

Who owns backups, and what comes next

Backups need a named owner on site, even when contractors do the work. Without one, each contractor keeps its own copy and nobody holds the complete set. When a contractor finishes a job, ask for the final program, the changed configuration and the comparison result as part of acceptance, before the work is signed off.

Put backup duties into maintenance contracts: what is saved, how often, where, and how restores are tested and reported. Citia's Condition Monitoring and Maintenance service includes backup and restore tests and delivers a backup register with updated configuration. The PLC/SCADA assessment guide explains why a backup needs its recovery context recorded alongside it.

Good backups also make other work safer. They are the first step in safe PLC troubleshooting, and they are the starting point for any plan to replace hardware that has reached the end of vendor support, covered in obsolete PLC and SCADA: repair or migrate.

Terms to know

Backup set
All files needed to rebuild one system: programs, projects, databases, configuration and licences.
Restore test
Rebuilding a system from its backup on spare hardware to prove the copy works.
Upload
Reading the program out of a controller into the engineering software.
Firmware
The built-in software of a controller or module; its version must suit the program file.
Engineering workstation
The computer with the software and licences used to program controllers and SCADA.
Checksum
A short code calculated from a file that changes if the file changes.
Backup register
A list of every backup with its version, date, source, storage and last restore test.

Frequently asked questions

What should be backed up besides the PLC program?

Besides the PLC program, back up the HMI and SCADA project, databases, gateway and converter configuration, network settings, firmware versions, licences, the engineering software installer and key documents such as the I/O list and topology.

How often should a PLC be backed up?

A PLC should be backed up before and after every program or firmware change, and on a fixed routine agreed for the site. The routine catches changes that were made without a record.

How do I know the program in the PLC matches my backup?

Compare them: upload the program from the controller and use the engineering software's compare function against the stored copy. Record the result and a checksum in the backup register, and investigate any difference nobody can explain.

Where should PLC and SCADA backups be stored?

Store PLC and SCADA backups in at least two places away from the machines they protect, with one copy offline. Limit who can write to the store and keep the installers and licences with the files.

Is a disk image of the SCADA server enough?

No, a disk image helps but is not enough on its own. It may not boot on different hardware, it can carry licence problems, and it does not include PLC programs or gateway settings, so keep project-level backups as well.

Who is responsible for control system backups?

The site owner should name one person responsible for control system backups, even when contractors do the work. That person keeps the register, collects copies after every change and checks that restore tests happen.

Sources and further reading

  1. ISA/IEC 62443 Series of Standards (opens in a new tab)International Society of Automation (ISA) · isa.org
  2. NIST SP 800-82 Rev. 3: Guide to Operational Technology (OT) Security (opens in a new tab)National Institute of Standards and Technology (NIST) · csrc.nist.gov · 2023-09
  3. Primary Mitigations to Reduce Cyber Threats to Operational Technology (opens in a new tab)Cybersecurity and Infrastructure Security Agency (CISA) · cisa.gov ·
  4. Condition Monitoring & Maintenance (opens in a new tab)PT Citia Engineering Indonesia · citia-engineering.com
  5. Petrokimia Gresik: ABB PLC repair (opens in a new tab)PT Citia Engineering Indonesia · citia-engineering.com
  6. Padalarang TAS lifecycle support (opens in a new tab)PT Citia Engineering Indonesia · citia-engineering.com
  7. PLC/SCADA assessment: start with symptoms, topology and backups (opens in a new tab)PT Citia Engineering Indonesia · citia-engineering.com
  8. Cover photo by NOIRLab/NSF/AURA/T. Slovinský, CC BY 4.0 (cropped and colour graded) (opens in a new tab)Wikimedia Commons · commons.wikimedia.org

Next step

Prepare the technical discussion for your facility.

Bring the equipment list, diagrams and symptoms you have. The Citia team helps map the next step.

Related products and solutions

Keep reading