https://github.com/rooyca/rooykup-backup-and-sync
Create backups, compress them, and sync them with a single script.
https://github.com/rooyca/rooykup-backup-and-sync
backup cloud encryption rclone script sync
Last synced: about 2 months ago
JSON representation
Create backups, compress them, and sync them with a single script.
- Host: GitHub
- URL: https://github.com/rooyca/rooykup-backup-and-sync
- Owner: Rooyca
- License: mit
- Created: 2023-05-17T09:00:51.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-02-17T20:37:33.000Z (over 2 years ago)
- Last Synced: 2025-03-05T13:25:29.024Z (over 1 year ago)
- Topics: backup, cloud, encryption, rclone, script, sync
- Language: Python
- Homepage:
- Size: 204 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rooykup - Backup and sync tool


## Table of Contents
- [Configuration](#configuration)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)
## Configuration
### rclone
- Download rclone from https://rclone.org/downloads/
- Configure rclone with `rclone config`. Follow the instructions from https://rclone.org/docs/
- Set a strong configuration password and save it in a `confg` file in `~/.config/rooykup`
### rooykup
- Clone this repository
- Create a `config.toml` file in `~/.config/rooykup` with the following structure:
```toml
[config]
workingDirectory = "/path/to/working/directory" # Directory where compressed files and logs will be saved
shutDownAfterBackup = false
alwaysCompress = false
remote = ["remote:folder", "remote2:"]
local = "local:"
[exclude]
directories = [".git", "node_modules"] # If none leave it empty
[[pathAndDirName]]
path = "/path/to/folder/to/backup"
zipName = "NameOfTheZipFile
```
You can add as many `[[pathAndDirName]]` as you want.
- Export the `RCLONE_CONFIG_PASS` environment variable with the rclone configuration password. You also can add it to your `.bashrc` or `.zshrc` file.
```bash
export RCLONE_CONFIG_PASS="yourRcloneConfigPass"
```
## Usage
- Run `python rooykup.py` (`./rooykup` if you download it from [release page](https://github.com/Rooyca/rooykup-backup-and-sync/releases)) to start the backup process
- If you want to run it periodically, you can use `cron` or `systemd`
You can also create an alias in your `.bashrc` file or `.zshrc` file
```bash
alias rooykup="python /path/to/rooykup.py"
```
If you want to shut down your computer after the backup process, set `shutDownAfterBackup` to `true` in your `config.toml` file or run it with the `-s` flag.
If you want to always compress the files, set `alwaysCompress` to `true` in your `config.toml` file or run it with the `-c` flag. This will compress even if the directory already has a compressed file from today.
### Polybar module
If you want to use the polybar module, add the following to your polybar config file:
```ini
[module/bs]
type = custom/script
exec = echo " "
format-prefix = " "
format-prefix-foreground = #000
format-background = #fb4934
click-left = alacritty --hold -e python /path/to/rooykup.py -s
```
Here I'm using `alacritty` as my terminal emulator, but you can change it to whatever you want.
## Contributing
Any contributions you make are **greatly appreciated**. <3
## License
Distributed under the MIT License. See `LICENSE` for more information.