Sync hydrus databases using rsync
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
README.md |
hydrus-sync-client
Ever feel like you need a way to sync Hydrus databases across multiple machines? With hydrus-sync-client
, you can
easily synchronize your Hydrus database with a rsync server.
This was originally a Bash script that I decided to rewrite in Rust, so please excuse how ugly it is right now :-)
Process
- The program first checks the last hostname that synchronized, this is used later to decide whether to sync first.
- Then the lockfile is checked, if it is locked - the program exits.
- If the hostnames don't match, we sync the files before launching.
- Hydrus is launched and you can continue like normal.
- Once Hydrus is closed, the file synchronization now happens in reverse.
- Before the program exits, the lockfile is reset and the last hostname is updated.
As long as you ensure you're always using hydrus-sync-client
to run Hydrus, the sync process is mostly foolproof.
Running
Before you can run hydrus-sync-client
, fill out a hydrus-sync.toml
config file:
rsync_password = "password"
rsync_url = "rsync://yournas/hydrus"
hydrus_db_location = "/home/yourname/.local/share/hydrus/db/"
hydrus_exec_location = "/usr/bin/hydrus-client"
Of course you need a rsync server accessible from your machine. I personally use the one built-in to Synology NAS and it works just fine.