What is your favourite Linux backup software and why?

This page summarizes the projects mentioned and recommended in the original post on /r/linuxmasterrace

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • btrbk

    Tool for creating snapshots and remote backups of btrfs subvolumes

  • btrbk together with automated systemd service. Runs in background, is available for every distro, can take incremental system snapshots and can run unter ssh.

  • sshfs

    Discontinued A network filesystem client to connect to SSH servers

  • 2. SSHFS allows you to mount a remote filesystem via fuse over encrypted link with little fuss, and key exchange can be used to bypass password login, however it may not be persistent.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • restic

    Fast, secure, efficient backup program

  • awesome-restic

    Awesome Restic related projects

  • Restic would be my main choice, particularly for offsite (over the network) backups. * Free, open-source, cross platfrom * Permissive license * deduplicating backup * can back up to local disk, dumb cloud file storage, or its own server (rest-server). This includes s3 buckets. * rest-server can run in append-only mode which prevents ransomware (etc.) from deleting your backups. * does not require shell/ssh access to remote system where backups are stored. However, shell access in at least the same datacenter may be helpful to reduce the network overhead of prune operations. * can mount backups, including from cloud storage, using fuse filesystem on linux * can pipe data into restic and add a file to a backup. So, for example, you can dump a database "mysqldump [...] | restic -r /srv/restic-repo backup --stdin --stdin-filename mysql.dump" * its own server, rest-server, can be setup to do append only backups so ransomware can't erase your backup (provided you make it difficult to log into backup server manually) * command line so you can script, ssh, etc. * There are various front ends available, though I don't see them as particularly useful. * Encrypted backups (unfortunately, there is no option for unencrypted ones, store the password alongside the backup if you really want "unencrypted"). Multiple users can have different keys so you can have an a master oops key for decrypting backups or an enterprise escrow key so you can decrypt backups after a user leaves. Make sure your encryption keys are stored somewhere you can access without restoring the backup (i.e. store your keepassxc file alongside the backup, not inside it). * in addition to built in drivers for various cloud based systems, it also can use rclone to access others. * backs up extended attributes including ACLs. Note that if you fail to backup extended attributes, some file based encryption systems (such as fscrypt) will not be recoverable as the information needed to recreate the per-file key is stored as an extended attribute. * multiple machines can backup to the same repository which can allow deduplcation across hosts. * You can do a local backup with restic, then transport the drive to an off-site location and use it online with rest-server. * important metadata is cached on local machine. * Deleting a file from a backup may be difficult after it is included. There is no command to prune or forget an individual file. However, this does make spoliation of evidence difficult. * Works around some windows bugs. Uses VSS (volume shadow copy services) on windoze to access open files.

  • structured-text-tools

    A list of command-line tools for manipulating structured text data

  • Also, here is a list of structured text tools. You may find some tools there that are helpful in editing configuration files from the command line. Or you can use "diff -u" to create a patch file (you need to save the patch files along with sudo.log) to recreate. Also, use sfdisk --dump and sfdisk --backup to save partition information in a form that can be used to recreate backups.

  • rclone

    "rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Yandex Files

  • Windoze creates its own set of problems. Beware of recursive junctions that point to the parent directory. C:\Users\username\AppData\Local\Application Data -> C:\Users\username\AppData\Local which means your backup takes forever as it tries to backup: C:\Users\username\Local\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data... Also, do not restore user registry over top of registry on new machine or user will not be logged in. On windows, the backup program may be unable to open files that another program has open. On windows, restic and duplicati use volume shaddow copy services (VSS). borg and rclone do not, though you can create your own shaddow

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts