Commit Graph

928 Commits

Author SHA1 Message Date
Christoph Klaffl f942341f8d
Merge branch 'pr636' into pr-merger 2023-03-20 21:49:00 +01:00
Christoph Klaffl f2982d9313
Merge branch 'pr592' into pr-merger 2023-03-20 21:33:20 +01:00
Christoph Klaffl 42ed026837
Merge branch 'pr538' into pr-merger 2023-03-20 21:20:26 +01:00
Christoph Klaffl 9e87e8c95a
Merge branch 'pr769' into pr-merger 2023-03-20 21:14:43 +01:00
Christoph Klaffl 487fba24e5
Merge branch 'pr768' into pr-merger 2023-03-20 21:14:34 +01:00
Christoph Klaffl b488611ae7
Merge branch 'pr767' into pr-merger 2023-03-20 21:14:29 +01:00
Christoph Klaffl c2f5367d3d
Merge branch 'pr766' into pr-merger 2023-03-20 21:14:25 +01:00
Christoph Klaffl 9625a79e25
Merge branch 'pr608' into pr-merger 2023-03-20 21:14:13 +01:00
Christoph Klaffl 6deae74b7d
Merge branch 'pr606' into pr-merger 2023-03-20 21:14:07 +01:00
Christoph Klaffl 59544de134
Merge branch 'pr605' into pr-merger 2023-03-20 21:14:02 +01:00
Christoph Klaffl ea59c0f598
Merge branch 'pr506' into pr-merger 2023-03-20 21:13:52 +01:00
dodexahedron 38f2d625a8
Clarified that compression is on the wire 2023-02-02 19:32:08 -07:00
Josh Soref ae28c10982 spelling: want
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-01-01 14:43:35 -05:00
Josh Soref 2333f1142d spelling: suppress
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-01-01 14:43:35 -05:00
Josh Soref 0fcaab54f6 spelling: snapshotted
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-01-01 14:43:35 -05:00
Josh Soref 3ffa57c72f spelling: resumable
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-01-01 14:43:35 -05:00
Josh Soref 7a8b0adb6d spelling: overridden
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-01-01 14:43:35 -05:00
Josh Soref 93f2b8863e spelling: necessary
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-01-01 14:43:35 -05:00
Josh Soref 9421892402 spelling: naming
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-01-01 14:43:35 -05:00
Josh Soref a666424742 spelling: mbytes
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-01-01 14:43:35 -05:00
Josh Soref c43048598a spelling: github
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-01-01 14:43:35 -05:00
Josh Soref 12e962a133 spelling: errors
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-01-01 14:43:35 -05:00
Josh Soref c37f412797 spelling: errlevel
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-01-01 14:35:55 -05:00
Josh Soref cad1215501 spelling: debugging
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-01-01 14:30:57 -05:00
Josh Soref 7d24d97045 spelling: available
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-01-01 14:30:57 -05:00
Josh Soref 9f898439e0 spelling: a lot
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-01-01 14:30:57 -05:00
Vinnie Okada 0c577fc735 Deprecate the --exclude option
Add a new option, --exclude-datasets, to replace --exclude. This makes
the naming more consistent now that there are options to filter both
snapshots and datasets.

Also add more information to the README about the distinction between
--exclude-datasets and --(in|ex)clude-snaps.
2022-12-24 12:59:59 -07:00
Vinnie Okada 14ed85163a Filter snapshots in getsnapsfallback() 2022-12-24 12:55:17 -07:00
Vinnie Okada 8e867c6f14 Add new syncoid tests
Test the new --include-snaps and --exclude-snaps options for syncoid.
2022-12-24 12:55:15 -07:00
Vinnie Okada 3a1b1b006f Add new syncoid options to the README
Update the README with the new --include-snaps and --exclude-snaps
 syncoid options.
2022-12-24 12:55:13 -07:00
Vinnie Okada 9a067729a9 Implement include-snaps and exclude-snaps
Add --include-snaps and --exclude-snaps options to filter the snapshots
that syncoid uses.
2022-12-24 12:55:08 -07:00
Vinnie Okada 603c286b50 Don't iterate over snaps twice
Process snapshots in one pass rather than looping separately for both
guid and create time.
2022-12-24 12:52:06 -07:00
Vinnie Okada 09b42d6ade Refactor system calls
Build the zfs send and receive commands in a new subroutine, and
implement other subroutines that can be called instead of building a zfs
command and running it with system();
2022-12-24 12:51:58 -07:00
Vinnie Okada c4e7028022 Refactor terminal output
Replace `print` and `warn` statements with a logging function.
2022-12-24 12:48:54 -07:00
joelishness 5d469c4bb2
Update README.md
Fixed some typos
2022-10-03 21:36:26 -07:00
Christoph Klaffl 0808575874
syncoid should exit with an error if the specified src dataset doesn't exist (and only skip child datasets which vanished) 2022-09-13 17:13:01 +02:00
Christoph Klaffl a5d7896c0f
improve accuracy of zfs receive check 2022-09-13 00:16:49 +02:00
Christoph Klaffl 4f150ec6ec
fix snapshot listing fallback 2022-09-13 00:02:03 +02:00
Christoph Klaffl fa67fbe845
bring back no-rollback option 2022-09-12 23:44:52 +02:00
Daryl Bennett c408bddab4 Include syncoid remote user requirment
Add requirement for syncoid w/ remote hosts to be able to sudo without a password.
Recommends a least privilege configuration option for enabling `NOPASSWD`
2022-09-05 19:45:10 -07:00
Mark Scholes 59c59e2b00 Removed unneeded 2>/dev/null from mbufferoptions 2022-05-19 11:54:16 +01:00
Endre Szabo 21931bd8a6
Merge branch 'jimsalterjrs:master' into ssh_config 2022-04-25 09:05:58 +02:00
Jim Salter ef601eb96b Merge branch 'master' of https://github.com/jimsalterjrs/sanoid 2022-04-08 21:34:58 +00:00
Jim Salter ee8c884460 put local resume token support back in 2022-04-08 21:34:01 +00:00
Jim Salter b0a71f763a
Merge pull request #734 from Gryd3/patch-1
append a rand int to the socket name.
2022-04-08 17:18:23 -04:00
Jim Salter ef2b4f887a no more rolling targets back, receive -F only 2022-04-08 21:09:51 +00:00
Jim Salter ec7858c1c7 don't use resume tokens for purely local replication 2022-04-08 20:57:53 +00:00
Gryd3 b1c2684c63
append a rand int to the socket name.
Running more than one 'syncoid' at the same time to the same host resulted in two jobs referencing the same socket.
Often results in "already exists, disabling multiplexing" but has in more than one occasion failed with the following:

ControlSocket /tmp/syncoid-zfsbackup-zfsbackup@10.0.0.1-1649107066 already exists, disabling multiplexing
lzop: Inappropriate ioctl for device: <stdin>
CRITICAL ERROR: ssh     -S /tmp/syncoid-zfsbackup-zfsbackup@10.0.0.1-1649107066 zfsbackup@10.0.0.1 ' zfs send  -I '"'"'pool/office'"'"'@'"'"'autosnap_2022-04-04_21:00:00_frequently'"'"' '"'"'pool/office'"'"'@'"'"'autosnap_2022-04-04_21:15:00_frequently'"'"' | lzop  | mbuffer -R 5m -q -s 128k -m 16M 2>/dev/null' | mbuffer  -q -s 128k -m 16M 2>/dev/null | lzop -dfc | pv -s 18356312 |  zfs receive  -s -F 'zfs-pool/vault/office' 2>&1 failed: 256 at /usr/sbin/syncoid line 786.

Sample use-case: 
Using Monit, Cron, or some other scheduler to trigger more than syncoid to the same host to sync two datasets.
Stagger the sync so that no two jobs get started at the same time, or add some form of randomization to the socket name so that two jobs may start at the same time.
2022-04-04 15:00:31 -07:00
Topslakr 1fcf348001
Update Install.md for Centos 8
Updated the install language, and commands, to better server Centos 8 and it's derivatives. Instead of using CPAN, enabling the 'PowerTools' repo will make those modules available for installation and kept current with normal OS updates.

Updated command to enable _and_ start sanoid.timer, instead of using two commands.
2021-12-06 13:57:18 -05:00
Juergen Heiles 8cf0144c02
Merge branch 'jimsalterjrs:master' into syncoid-hold 2021-11-13 21:09:48 +01:00