Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vdbsh/backy
tiny multiprocessing utility for file backups
https://github.com/vdbsh/backy
archiving backup bsd bzip2 cli golang linux macos rsync synchronization tar
Last synced: about 2 months ago
JSON representation
tiny multiprocessing utility for file backups
- Host: GitHub
- URL: https://github.com/vdbsh/backy
- Owner: vdbsh
- License: bsd-3-clause
- Created: 2020-10-10T14:41:04.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-08-16T09:56:41.000Z (about 3 years ago)
- Last Synced: 2024-07-27T23:57:54.501Z (about 2 months ago)
- Topics: archiving, backup, bsd, bzip2, cli, golang, linux, macos, rsync, synchronization, tar
- Language: Go
- Homepage: https://github.com/vdbsh/backy
- Size: 16.6 KB
- Stars: 9
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 📦 backy: tiny multiprocessing utility for file backups
## Features
* Directories synchronization
* Full directories archiving: hourly, daily, weekly, monthly or yearly with auto re-archivation if archive lost or corrupted
* Using native rsync(rsync over SSH supported) and tar(+bzip2) tools from your OS
* No third-party dependencies
* Linux, macOS and *BSD supported## Usage
```backy ```## Task Configuration Format
```json
{
"destination": "~/Backup",
"archiving_cycle": "monthly",
"multiprocessing": true,
"verbose_log": false,
"directories_to_sync": [
"~/Desktop",
"~/Documents"
],
"directories_to_archive": [
"~/Desktop",
"~/Documents"
],"exclude": [
".*"
]
}
```## Scheduling
See ```scripts```**Linux**
* https://en.wikipedia.org/wiki/Cron**MacOS**
* https://en.wikipedia.org/wiki/Launchd
* https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/ScheduledJobs.html#//apple_ref/doc/uid/10000172i-CH1-SW2## 3-2-1 Backup Scheme Example
```
1 2 3
[Primary Directory]->[External Drive]->[Cloud Storage]
| ^ | ^
| | | |
[<=backy========>] [<=Cloud App>===>]
```**For a complex backup schemes it is highly recommended to split tasks to separate configuration files and time periods. Another tip is to chain your backup actions by backy exit codes.**
## Exit Codes
* 0 - Synchronization and archiving completed successfully
* 1 - No task configuration provided
* 2 - Can't read provided task configuration
* 3 - Synchronization completed with errors
* 4 - Archiving completed with errors
* 5 - Synchronization and archiving completed with errors## Building
```go build backy.go```