Backup software

NPBackup – secure and efficient file backup solution

In Operation

User interface and ease of use

Backup software should be easy to use. A clear and intuitive user interface will particularly be useful for non-technical users.

NPBackup offers both graphical and command-line interfaces. The main window provides access to backups, snapshots, restores, repository checks and housekeeping operations.

Before creating a backup, you need to create or load a YAML configuration file. The graphical editor covers the repository location, password, backup sources, exclusions and retention settings. This is considerably friendlier than constructing restic commands manually, although the terminology still assumes some familiarity with repositories and snapshots.

The interface is functional rather than polished, but the important operations are easy to find. It also clearly indicates whether a sufficiently recent backup exists.

Automation and scheduling

Performing backups manually is prone to mistakes, omissions, and delays. Good backup software should automate the backup process. Scheduling backups offers a level of consistency that helps keep the backup process reliable.

NPBackup can create scheduled tasks, while cron and systemd timers can also be used on Linux.

Its handling of backups is particularly useful. NPBackup can run at regular intervals, check whether a recent backup already exists and only start another when necessary. Process and I/O priorities are reduced by default to limit disruption during interactive work.

Commands can be run before or after a backup, with configurable timeouts and failure behaviour. This is useful for database dumps, temporarily stopping services or sending notifications.

Storing backups

Efficiency comes from avoiding duplication of file storage. File compression is also an important factor. Encryption ensures security of your files to protect from unauthorized access. Even if backup files are stolen, the actual data cannot be deciphered without a decryption key.

NPBackup relies on restic for client-side encryption, deduplication and compression. Each backup appears as a complete snapshot, but unchanged data is not stored repeatedly.

Repositories remain compatible with restic and can therefore be examined, checked and restored without NPBackup. This avoids locking users into a proprietary storage format.

Multiple repositories can be organised into groups with inherited settings. The orchestrator can run operations across an entire group, while retention policies determine which snapshots are preserved.

Reporting and testing

Regularly testing your data backup strategy is essential for ensuring that backups are functioning as expected and that any configuration changes don’t cause any unexpected errors. It also allows you to identify and address any backup issues.

NPBackup can check repositories and perform housekeeping before applying retention policies. It can also verify that every configured source exists and reject a backup that falls below a specified minimum size.

These safeguards help detect moved directories and other configuration problems that might otherwise result in an apparently successful but useless backup.

Logging is extensive. Prometheus metrics can be collected through node_exporter or sent to a Pushgateway, and a Grafana dashboard is available. The command-line interface also offers JSON output for scripts and monitoring tools.

Customization

Backup software should allow you to customize your backups based on your requirements.

NPBackup offers extensive control over repository settings, backup sources, exclusions, retention policies and connection behaviour. It includes exclusion lists for Linux, Windows and Synology systems, although these should be reviewed before use.

Upload and download limits, connection concurrency, process priority and I/O priority can all be adjusted. Pre- and post-execution commands support timeouts, while output from another command can be passed directly into a backup.

Permissions can restrict a configuration to creating backups, listing and restoring data, restoring only or performing full administrative operations. Sensitive configuration values can be encrypted.

The number of options may initially feel overwhelming, but this flexibility makes NPBackup suitable for both individual desktops and larger managed deployments.

Cloud support

Local backups won’t protect you from burglary or natural disasters.

NPBackup inherits restic’s wide selection of storage backends. Besides local filesystems, it supports SFTP, REST servers, Amazon S3-compatible services, Backblaze B2, Microsoft Azure Blob Storage, Google Cloud Storage, OpenStack Swift and Alibaba Cloud Object Storage Service.

Additional destinations can be accessed through rclone. Bandwidth limits and connection concurrency settings are useful when backing up across slower or less reliable networks.

Documentation

Good backup software will provide clear documentation that explains how to use the software.

The project’s README gives a useful overview of its design, programs and main features. More detailed material is available through its GitHub wiki and example configuration files.

There is enough information for an experienced Linux user to install and configure the software. However, the documentation is somewhat fragmented and occasionally assumes prior knowledge of restic. A more structured guide taking new users through configuration, scheduling and a test restore would improve matters.

Next page: Page 3 – Summary

Pages in this article:
Page 1 – Introduction and Installation
Page 2 – In Operation
Page 3 – Summary

Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted