Open source backup tools, installed and run

Backup tools you can run yourself. The list is ordered by whether each project came up when Argusic installed it fresh, with the recording of that attempt one click away.

Tested between and . Each row shows its own test date; a project can change after that day.

25 of 27 tested projects run. 43 more waiting for a test.

In short: 17 of the 27 tested projects started as-is on a fresh machine: restic, kopia, ludusavi, laravel-backup, across, docker-volume-backup, oxidized, and rustic, and 9 more. 8 more started once a stand-in replaced a service they expect, such as a database: aliyunpan, pv-migrate, evernote-backup, greenmask, velero, sh, elasticsearch-dump, and imap-backup. 2 could not be verified: dotfiles and gickup; the log shows where each one stopped.

Measured by Argusic on a fresh machine every time. Every number links to its evidence.

#projectverdictArgusic Scorelanguagestarstested on
1resticRuns100 / 100Go36,470

Fast, secure, efficient backup program

What the test found: restic 0.19.1-dev builds cleanly, the binary compiles and runs, backup/restore works on the local backend with end-to-end verification, all 52 test suites pass, except 2 mount-integration tests that require /dev/fuse which is unavailable in this unprivileged container. 9 minutes.

2kopiaRuns100 / 100Go14,281

Cross-platform backup tool for Windows, macOS & Linux with fast, incremental backups, client-side end-to-end encryption, compression and data deduplication...

What the test found: Kopia v0.0.0 builds from source, its CLI binary creates filesystem repos, takes and lists encrypted snapshots, and restores them bit-identical; all core test packages pass (repo, fs, snapshot, internal, notification, cli individual tests). 29 minutes.

3ludusaviRuns100 / 100Rust6,371

Backup tool for PC game saves

What the test found: Ludusavi 0.31.0 compiles from source with full GUI+CLI features, all 270 tests pass, CLI commands (backup, version, help) execute correctly, and the GUI launches and stays alive on the virtual display. 27 minutes.

4laravel-backupRuns100 / 100PHP6,023

A package to backup your Laravel app

What the test found: All 169 tests pass (2404 assertions) after installing FrankenPHP as the PHP runtime, Composer for dependencies, and a static sqlite3 binary for database dumps needed by the backup command. 14 minutes.

5acrossRuns100 / 100Shell5,375

Across the Great Wall we can reach every corner in the world

What the test found: All 10+ shell scripts pass syntax validation; bench.sh runs end-to-end collecting system info, disk I/O benchmark, and Ookla speedtest results. Root-required scripts (bbr.sh, backup.sh, kms.sh, wireguard.sh) correctly guard for root. Dockerfiles and deb/rpm builders are idle without Docker. 18 minutes.

6docker-volume-backupRuns100 / 100Go4,032

Backup Docker volumes locally or to any S3, WebDAV, Azure Blob Storage, Dropbox, Google Drive or SSH compatible storage

What the test found: Go toolchain installed from upstream tarball, project builds with go build, all 2 test packages pass, and the backup binary responds to --help and print-config. 6 minutes.

7oxidizedRuns100 / 100Ruby3,600

Oxidized is a network device configuration backup tool. It's a RANCID replacement!

What the test found: Oxidized 0.37.0 is installed and fully functional: all 412 tests pass (0 failures, 0 errors), rubocop passes with 0 offenses, and the CLI binary prints version 0.37.0 and help text correctly. 10 minutes.

8rusticRuns100 / 100Rust3,316

rustic - fast, encrypted, and deduplicated backups powered by Rust

What the test found: rustic 0.11.4 builds from source, the binary runs, and the full test suite passes (69/75 tests pass, 6 ignored as CI/release-only). 27 minutes.

9gobackupRuns100 / 100Go3,072

🗄 CLI tool for backup your databases, files to cloud storages in schedully.

What the test found: GoBackup binary builds and runs: unit tests pass (12/12), archive backup produces valid tarball, web UI serves on port 2703 with HTTP 200, help/version commands work. 7 minutes.

10databasementRuns100 / 100PHP2,514

Self-hosted database backup manager with a web UI. Schedule, backup, and restore MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, MongoDB, SQLite & Redis to...

What the test found: PHP 8.5.11 CLI with 30 extensions loads; Laravel app boots; 1604 of 1625 discovered tests pass against real SQLite in-memory database; the 1 failure is a Docker-path assertion (Oracle mysqldump client not present outside the official image) and the rest are missing MongoDB driver which is not available for standalone... 64 minutes.

11ESPConnectRuns100 / 100TypeScript2,169

Zero-installation web application that lets you explore, back up, and manage your ESP32… right from your browser

What the test found: npm install succeeds, typecheck passes, production build completes, all 137 unit tests pass, and all 12 E2E tests pass with mocked WebSerial service. 3 minutes.

12QZoneExportRuns100 / 100TypeScript1,880

QQ空间导出助手,用于备份QQ空间的说说、日志、私密日记、相册、视频、留言板、QQ好友、收藏夹、分享、最近访客为文件,便于迁移与保存

What the test found: npm install and all npm scripts (test, build, build:firefox, compile, build:viewer, dev:viewer) work with Node.js v22.14.0 and TZ=Asia/Shanghai. The 506-unit test suite passes. Both Chrome and Firefox browser extension builds (Manifest V3) complete successfully. The offline viewer builds and serves correctly. 9 minutes.

13autoresticRuns100 / 100Go1,872

Config driven, easy backup cli for restic.

What the test found: autorestic 1.8.3 builds and all 64 Go unit test assertions pass across cmd, internal, and lock packages. The binary responds to --help and --version. 12 minutes.

14portabaseRuns100 / 100TypeScript1,823

Portabase - Database backup & restore tool for PostgreSQL, MySQL, MsSQL, MariaDB, Firebird SQL, SQLite, MongoDB, Redis and Docker Volume

What the test found: Portabase v1.30.2 dev server is running on port 8887, connected to PostgreSQL 16.15 on port 5433, with 29 database tables, default organization and super admin created, all init functions completed, all 5 tested routes return 200. 29 minutes.

15watchstateRuns100 / 100PHP1,575

Self-hosted service to sync your plex, jellyfin and emby play state. without relying on 3rd-party external services.

What the test found: WatchState (FrankenPHP 1.13.0 / PHP 8.5.11) installed with composer dependencies; HTTP server launches and healthcheck endpoint returns 200 OK; 905 of 907 tests pass. 21 minutes.

16pghoardRuns100 / 100Python1,424

PostgreSQL® backup and restore service

What the test found: pghoard installs, imports, and builds successfully in a Python 3.12 venv; 344 of 370 tests pass with real PostgreSQL 16.15 including backup/restore, WAL archiving, compression, encryption, object storage, and web server operations. 48 minutes.

17GitSaveRuns100 / 100TypeScript322

GitSave is a self-hosted and open-source application that backs up your Git repositories.

What the test found: GitSave backend server (Express + Prisma/SQLite) runs on port 3000, serves the Astro-built static frontend, and all 14 REST API endpoints for user auth, backup job CRUD, git mirror cloning, history tracking, access tokens, and storage config respond correctly with the expected data payloads. 14 minutes.

18aliyunpanRuns with mocks92 / 100Go5,124

阿里云盘命令行客户端,支持JavaScript插件,支持同步备份功能。

What the test found: The aliyunpan CLI binary builds and runs (v0.4.0), and the entire test suite of 13 packages passes on linux/amd64 with Go 1.22.0. 11 minutes.

19pv-migrateRuns with mocks92 / 100Go2,422

CLI tool to easily migrate or backup/restore Kubernetes persistent volumes

What the test found: Go 1.27.1 installed from tarball; all 14 unit test suites pass; pv-migrate binary built and responds to --help. 17 minutes.

20evernote-backupRuns with mocks92 / 100Python1,758

Backup & export all Evernote notes and notebooks

What the test found: evernote-backup 1.14.0 is installed and fully functional: the CLI shows help and version, all lint/format checks pass, and 407/407 functional tests pass using mocked Evernote backends. 2 minutes.

21greenmaskRuns with mocks86 / 100Go1,779

Database anonymization and test data management

What the test found: Greenmask v0.0.0 (commit d34cce1e) binary is built and responds to all commands (dump, restore, validate, list-dumps, etc.). All 21 non-Docker-dependent test packages pass verifying storage, transformers, pgcopy, pgdump, generators, config, and utilities. The 4 failing packages require Docker containers to run... 10 minutes.

22veleroRuns with mocks82 / 100Go10,334

Backup and migrate Kubernetes applications and their persistent volumes

What the test found: Velero binary builds successfully (150MB ELF binary), all 78 unit-test packages pass, and the CLI help text displays correctly. The binary requires a Kubernetes cluster at runtime but the build and unit test suite are clean. 32 minutes.

23shRuns with mocks80.6 / 100Shell3,206

KEJILION.SH 一款全功能的Linux管理脚本!An all-in-one Linux management script!

What the test found: kejilion.sh v4.5.10 loads and renders the interactive shell menu; 33 of 41 shell tests and 18 of 48 Python subtests pass; 4 suites require root (disk/sys_tuning/cert/nginx), 3 openclaw harness tests have unmet extraction dependencies. 26 minutes.

24elasticsearch-dumpRuns with mocks56 / 100JavaScript7,940

Import and export tools for elasticsearch & opensearch

What the test found: npm install succeeds, the elasticdump binary launches and version-checks at 6.125.1, 120 of 154 automated tests pass (all non-ES tests pass), and a file-to-stdout data dump works. 50 minutes.

25imap-backupRuns with mocks56 / 100Ruby1,715

Backup and Migrate IMAP Email Accounts

What the test found: imap-backup 17.0.0.rc0 runs as a CLI tool; all 1047 non-container RSpec tests pass at 99.7% line coverage; RuboCop passes 200 files with 0 offenses; the 18 feature specs requiring Docker IMAP containers are skipped as those containers are unavailable. 7 minutes.

26dotfilesCould not verify45 / 100Shell2,726

Get started with your own dotfiles.

What the test found: All 13 dotfiles are present and pass syntax validation. Oh My Zsh is installed with the artisan plugin and minimal theme. Shell aliases (46 total), Zsh theme components (6), and artisan plugin functions (5) all load correctly. The .zshrc correctly resolves DOTFILES, ZSH_CUSTOM, plugins and theme settings... 6 minutes.

27gickupCould not verify20 / 100Go1,482

What the test found: could not be verified; the log shows where it stopped.

-shallow-backupNot yet tested-Python1,338-
-ibackupextractorNot yet tested-Rust1,331-
-docker-postgres-backup-localNot yet tested-Shell1,203-
-zreplNot yet tested-Go1,161-
-django-dbbackupNot yet tested-Python1,114-
-k8upNot yet tested-Go1,033-
-mariadb-operatorNot yet tested-Go1,023-
-onedumpNot yet tested-Go997-
-XGP-save-extractorNot yet tested-Python984-
-lazyrsyncNot yet tested-Rust913-
-dynamodumpNot yet tested-Python876-
-plutonNot yet tested-TypeScript846-
-lazywardenNot yet tested-Python829-
-claude-chat-exporterNot yet tested-JavaScript710-
-mybiliNot yet tested-PHP706-
-git-syncNot yet tested-Go704-
-restic-automatic-backup-schedulerNot yet tested-Shell664-
-openclaw-backupNot yet tested-Shell659-
-gocronNot yet tested-Go584-
-docker-mc-backupNot yet tested-Shell548-
-WalrusNot yet tested-Go548-
-gitlabberNot yet tested-Python524-
-mcp-ssh-managerNot yet tested-JavaScript500-
-firestore-backup-restoreNot yet tested-TypeScript498-
-docker-vackupNot yet tested-Shell493-
-discord-backupNot yet tested-TypeScript486-
-Weibo-archiverNot yet tested-TypeScript485-
-backup-xNot yet tested-Go480-
-github-trending-backupNot yet tested-Go461-
-2faNot yet tested-JavaScript450-
-geminiNot yet tested-Go438-
-restic-backup-dockerNot yet tested-Shell431-
-IntuneCDNot yet tested-Python425-
-dyneinNot yet tested-Rust400-
-node-firestore-import-exportNot yet tested-TypeScript390-
-bivacNot yet tested-Go362-
-codex-rehomeNot yet tested-Rust349-
-imapbackupNot yet tested-Python347-
-percona-backup-mongodbNot yet tested-Go336-
-etcd-backup-restoreNot yet tested-Go333-
-pgmonetaNot yet tested-C319-
-FastCopyNot yet tested-Java226-
-DriveBackupV2Not yet tested-Java200-

runs installed and started with its real dependencies. runs with mocks started after stand-ins replaced external services such as a database or a third-party API. could not verify neither the standard agent nor the stronger one got it running within the time limit; the log shows where it stopped.

How we tested

On this list as of the latest test: 17 projects ran as-is, 8 with mocks, 2 could not be verified, 43 still waiting. Languages tested: Go, JavaScript, PHP, Python, Ruby, Rust, Shell, TypeScript. Every attempt used a clean single-use machine, the subject at a pinned version, and a 45-minute limit; the complete procedure is on the methodology page.

Frequently asked questions (FAQs)

How is this list ranked?

By measurement, not opinion: projects Argusic installed and launched on a fresh machine come first, then those that ran with mocks in place of external services, then those it could not verify. Ties go to the Argusic Score, then how popular it is on its own source.

Why are some projects unranked?

43 projects are still waiting for a test or for a finished attempt. They are listed without a rank until Argusic has measured them.

Where is the evidence?

Every row links to the project's Argusic page, where each run has a full log and a terminal recording stored with a sha256 fingerprint. The same pages exist for every one of the tested projects, on this list or not.

More lists in this category

All lists: Best. All tested projects: subjects.