https://github.com/acavalin/ribs
Ruby incremental backup system
https://github.com/acavalin/ribs
archive backup cli gzip-compression incremental-backups ruby tar terminal xz-compression-utilities
Last synced: about 1 month ago
JSON representation
Ruby incremental backup system
- Host: GitHub
- URL: https://github.com/acavalin/ribs
- Owner: acavalin
- License: gpl-3.0
- Created: 2019-10-18T14:41:48.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-11-13T23:05:06.000Z (over 2 years ago)
- Last Synced: 2025-02-17T19:47:49.591Z (over 1 year ago)
- Topics: archive, backup, cli, gzip-compression, incremental-backups, ruby, tar, terminal, xz-compression-utilities
- Language: Ruby
- Homepage:
- Size: 27.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Ruby incremental backup system
With this script you can take incremental backups of a specific folder.
It creates its backup files within the `repository-folder` by comparing
file type, size, modification time and permissions.
It stores all files stats and archives only modified files (type/size/mtime).
~~~
USAGE: ribs [switches]
-l, --list-ts show available restorable versions
-b, --backup update the incremental backup repo
-r, --restore restores the last backup version
-R, --restore-ts TIMESTAMP restores the specified backup version
-g, --gzip use gzip instead of xz
-G, --pigz use parallel gzip instead of xz
-x, --[no-]one-file-system don't cross filesystem boundaries Def. true
-p, --[no-]permissions store files permissions (gid/uid/modes) Def. true
-h, --help display this help
Some files are automatically excluded, you can insert any additional GLOBs patterns
by wrinting them in repo_dir/exclude.yml. This is the default list:
- /var/tmp/*
- /var/log/*.?.gz
- /var/backups/*.?.gz
~~~
Examples:
~~~shell
# backup a single partition system
sudo ribs -b /mnt/usb-hd/my-pc.ribs /
# backup a raspberry pi sdcard
sudo ribs -b --no-p /mnt/usb-hd/raspi.ribs/p1 /mnt/sdcard/boot
sudo ribs -b /mnt/usb-hd/raspi.ribs/p2 /mnt/sdcard/
# restore
sudo ribs -r /mnt/usb-hd/my-pc.ribs /mnt/anothed-hd/
~~~