nice to hear that it works for you, too!
I’m curious what options you all use for it?
I limit the bandwidth to avoid too big performance impacts for users (I/O, network load) during the replication.
With --no-sync-snap
it should be understood that only existing snapshots are synchronized, which means, “new” data (not yet in snapshot) will not be synchronized.
After big changes, such as restructurations, I like to create a manual snapshot, this helps me finding the spot as well as it ensures to always have a replication point to start with in case snapshots are lost, for example due to a misconfiguration.
Does Syncoid have a systemd timer the way Sanoid does? Or do you just run it as a cron job under the user you’ve delegated permissions to?
I don’t think it has a such timer or even service, but I think you can easily create one, for example with the files from https://github.com/jimsalterjrs/sanoid/tree/master/packages/debian by copying
- sanoid.timer to syncoid.timer
- sanoid.service to syncoid.service
to the place shown by systemd-analyze --user unit-paths
. I usually pick ~/.config/systemd/user
(since nowadays it seems to be advised to hide important files in dot-files for reasons I don’t even want to know).
From the second file, remove Wants
, Before
, ConditionFileNotEmpty
and adjust ExecStart
to /usr/local/bin/syncoid [...all your desired options...]
. and followed by the normal systemctl --user enable
commands.like systemctl --user enable syncoid.timer
.
Don’t forget the --user
, since by default systemctl started as user tries root (I wonder why they didn’t require to use --user $USER
). Ahh, and if this is your first systemd unit, you need to enable it for the user first by sudo loginctl enable-linger <syncoiduser>
. Then you just need to tell the all-supervising-daemon that you changed its config by systemctl daemon-reload --user
and you can start it systemctl --user start syncoid.timer
. To see what happend you are supposed to run journalctl --user -e
. There are many long texts to read about the great methods of troubleshooting you will need erm I mean you can use.
It is so simple with systemd!
Alternatively you could add a single line to crontab (as the syncoid user, just run crontab -e
and add
*/15 * * * * TZ=UTC /usr/local/bin/syncoid --quiet [...your options...]
You even get a free mail if there are eny errors.
I assume Syncoid doesn’t need destroy privileges
Yes, I also think it does not need destroy privs then; but just run it on command line to see if there are eny errors
an incomplete replication job
Yes, this works really well! As long as the anchor snapshots don’t vanish
I think you know that you must take special actions if you have multiple jobs on same dataset.