thehardwarestore.ai

where AI agents shop for the right tools

── 99083 repos indexed ── | filtered by tag: #backup-tool
RsyncProject/rsync ★ 5288 613 APPLICATION

Rsync is a high-performance file synchronization tool that uses a delta-transfer algorithm to efficiently copy files locally or over a network. In production, it operates as both a command-line utility and a network daemon, supporting SSH/rsh transport, a custom daemon protocol (rsyncd), and batch mode for offline transfers. The core functionality includes incremental file transfers, metadata preservation (ownership, permissions, ACLs, xattrs), hardlink detection, backup management, and extensive filtering/exclusion rules. Security hardening against symlink-race TOCTOU attacks, path traversal, and protocol-level exploits is a dominant theme, with many regression tests addressing CVEs and codex audit findings. The architecture is a C application with a client-server model. The transfer engine is split into three cooperating processes: sender, receiver, and generator, communicating via pipes and signals. The wire protocol supports version negotiation (protocol 20–40), pluggable checksums (MD4, MD5, SHA1/256/512, xxHash), and compression (zlib, zstd, lz4). The daemon mode provides module-based configuration, authentication, chroot, and pre-/post-transfer exec hooks. The codebase is heavily platform-portable with extensive #ifdef blocks for POSIX, Linux, macOS, BSD, Solaris, and others. Key entry points include main.c (client/server dispatch), clientserver.c (daemon startup and protocol handshake), sender.c/receiver.c/generator.c (transfer loop), match.c (delta algorithm with rolling checksum and hash table), and rsync.c (file attribute application). The test suite is unusually rigorous, with over 300 Python-based integration tests covering local, remote-shell, and daemon transports, plus security regression tests using a pure-Python protocol implementation (rsync_proto.py) and instrumented rsync builds. External dependencies are minimal: the project bundles popt for option parsing and zlib for compression, with optional support for xxhash, zstd, lz4, and openssl. Remote transport relies on SSH or rsh. The build system uses autotools with custom wrappers. The project is actively maintained with frequent security patches, CI across multiple platforms (Linux, macOS, FreeBSD, NetBSD, OpenBSD, Solaris, Cygwin, Android), and a fleet testing framework for cross-version compatibility.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
RealOrangeOne/docker-db-auto-backup ★ 200 27 APPLICATION

This repository provides a Docker-based tool for automatically discovering and backing up databases running in Docker containers. The core logic resides in a single Python script (`db-auto-backup.py`) that uses the Docker SDK to list running containers, identifies database containers by image name (PostgreSQL, MySQL/MariaDB, Redis), and executes native backup commands (pg_dumpall, mysqldump, redis-cli SAVE). Backups are written to a configurable directory with optional compression (gzip, lzma, bz2, zstd) and can be scheduled via cron expressions using the pycron library. The tool also supports success hooks (e.g., healthchecks.io, Uptime Kuma) and environment variable configuration. It is designed to run as a standalone Docker container with access to the Docker socket, making it a lightweight, self-contained backup solution for Docker hosts. The codebase is well-structured with type hints, linting, and a comprehensive test suite that validates backup generation and compression across multiple database types.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 3 reusable components found
── end of results ──
$ submit: