Commit Graph

275 Commits

Author SHA1 Message Date
Christoph Klaffl b32d5a6833
Merge remote-tracking branch 'upstream/master' into extra-identifier 2018-07-07 20:04:40 +02:00
Christoph Klaffl 77e066b3d6
Merge branch 'master' into skip-parent 2018-06-29 08:13:12 +02:00
shodanshok 10d15ef2f1
Merge branch 'master' into master 2018-06-29 00:01:32 +02:00
Jim Salter 21722c34b9
Merge pull request #208 from danielewood/patch-1
Added support for ZStandard compression.
2018-06-28 16:01:00 -04:00
Jim Salter c909f55bc4
Merge pull request #229 from UnlawfulMonad/master
Fix --help typo
2018-06-28 15:59:38 -04:00
Jim Salter 5e291b6f41
Merge pull request #238 from phreaker0/parser-fixes
correctly parse zfs column output (space can be included in the values)
2018-06-28 15:58:43 -04:00
Christoph Klaffl 1f88580199
implemented support for excluding datasets from replication with a regular expression 2018-06-28 17:45:18 +02:00
Christoph Klaffl 34b942ea45
correctly parse zfs column output (space can be included in the values) 2018-06-21 18:18:28 +02:00
Christoph Klaffl 0f8fee7637
added option for using extra identification in the snapshot name for replicating to multiple targets 2018-06-19 19:43:36 +02:00
Christoph Klaffl 70b259ac3c
typos 2018-06-19 18:24:34 +02:00
Christoph Klaffl c0c3050076
added option for skipping the parent dataset in recursive replication 2018-06-19 18:21:06 +02:00
Gionatan Danti 0aaac42057 skip pruning with --no-sync-snap (as by PR #218) 2018-06-11 10:16:18 +02:00
Gionatan Danti f9049085c8 Added "no-rollback" option to prevent any rollback on target host 2018-06-11 09:48:45 +02:00
Lucas Salibian e65879d1f8 Fix --help typo 2018-06-08 11:52:52 -04:00
Christoph Klaffl 63979973b2
if syncoid is instructed to skip snapshot creation it shouldn't attempt to prune existing ones 2018-05-02 00:15:14 +02:00
Gionatan Danti 679f1f3bda Reintroduced targetfsescaped 2018-05-01 09:39:35 +02:00
Gionatan Danti 793f1c782b Reintroduced escapeshellparam for remote command and updated README file 2018-05-01 09:32:18 +02:00
Gionatan Danti 670e76458c Reintroduce "no-resume", erroneously removed from previous commit 2018-04-30 22:45:05 +02:00
Gionatan Danti 2f518d3209 Update to current sanoid master and solved a (fake ?) confict in syncoid 2018-04-30 22:31:27 +02:00
Gionatan Danti f670631ca2 Added "no-clone-rollback" option to prevent clone rollback on target host 2018-04-30 21:50:17 +02:00
root 72245338a8 special character handling and resumable zfs receive support in syncoid 2018-04-25 15:21:56 -04:00
root 2732392088 fix use of uninitialized value in escapeshellparam() 2018-04-25 15:18:00 -04:00
root 4ebc0abef5 fix use of uninitialized string in escapeshellparam() 2018-04-25 14:58:35 -04:00
Christoph Klaffl 944a718351
Merge branch 'master' into resumeable-replication 2018-04-25 18:03:14 +02:00
Christoph Klaffl e6eec0aca0
fix snapshot list generation and incremental sync for snapshots containing whitespaces 2018-04-25 17:15:55 +02:00
Christoph Klaffl 1b5ab20b0d
use resumeable zfs send/receive as default if supported by source and target 2018-04-25 14:58:01 +02:00
danielewood ecf2a852b5
Added support for ZStandard compression.
Available in all major distros with a simple yum/apt-get/pkg.

References: 
ZSTD Compression by Allan Jude - https://www.youtube.com/watch?v=hWnWEitDPlM
Zstandard - https://facebook.github.io/zstd/
2018-04-12 17:43:08 -07:00
Christoph Klaffl d5f4b5abba
support resumable zfs send/receive 2018-02-13 18:47:55 +01:00
Attie Grande e902df1ef2 also made warnings quiet 2018-01-06 11:03:02 +00:00
Attie Grande 8a2a673c58 fixed loud 'NEWEST SNAPSHOT' message 2018-01-06 11:01:44 +00:00
Christoph Klaffl 85cc99c9e6
accidentally removed helptext 2017-12-10 16:56:56 +01:00
Christoph Klaffl bb5fc81c0d
Merge branch 'master' into special-char-fixes 2017-12-10 16:55:08 +01:00
Christoph Klaffl 3027831095
escape all remaining snapshot names which could have special characters 2017-12-10 16:32:49 +01:00
Christoph Klaffl adca6230b7
missed one regular expression 2017-12-10 16:10:49 +01:00
Christoph Klaffl e260f9095f
escape filesystem names as needed to avoid interpreting special characters like whitespace and stop
interpreting metacharacters in fs names for some regular expressions, fixes #40
2017-12-10 16:05:08 +01:00
Charles Pigott 90e6a401da Missed some compression variable renames 2017-11-08 19:01:52 +00:00
Charles Pigott 11da17fa4a Fix compress arg handling 2017-11-08 19:01:52 +00:00
Charles Pigott 21a6881c4b Unrevert syncoid 2017-11-08 19:01:52 +00:00
Christoph Klaffl dbe33170e7
removed trailing whitespace 2017-11-08 17:30:52 +01:00
jimsalterjrs 368a9fe78e default to not manually specifying an SSH cipher 2017-11-08 11:02:39 -05:00
jimsalterjrs 0be8076145 revert syncoid due to compress options error in GetOpt version 2017-11-08 10:52:23 -05:00
Charles Pigott c416be3eab Remember to set default compression properly 2017-10-12 15:31:12 +01:00
Charles Pigott 7756dff623 Format compression as a hash of hashes, rather than a large if block 2017-10-12 15:14:03 +01:00
Charles Pigott f04c71604d Missed a couple of syncoid options 2017-10-12 14:54:36 +01:00
Charles Pigott ecde5acf4c An array needed a deref, and an if condition got inverted 2017-10-03 14:23:29 +01:00
Charles Pigott f8ea8f907d Add GetOptions helptext to syncoid
Lots of changes here
Notably:
nocommandcheck is now no-command-check
sshoptions can be specified multiple times
sshcipher now defaults to whatever your ssh client wants to
compress no longer accepts "no" or "0"
2017-10-03 14:23:29 +01:00
Charles Pigott b4d649fce5 Added some extra information to error messages concerning the filesystem they refer to 2017-08-11 13:30:44 +01:00
Jim Salter 2a13f1609d Update syncoid 2017-08-09 12:06:55 -04:00
Michael Brock 7e608f8a8d Merge branch 'master' of https://github.com/jimsalterjrs/sanoid 2017-07-28 18:39:21 -05:00
Michael Brock a26e3c4ad7 Updated to allow multiple options (-o) to be passed. 2017-07-28 17:43:47 -05:00
Jim Salter 96e66d6395 Update syncoid 2017-07-27 15:59:26 -04:00
Michael Brock c4ae73491c Additional changes to support -o usage 2017-07-26 19:02:13 -05:00
Michael Brock 7f00c01e90 Add -o option to pass ssh options into syncoid 2017-07-25 22:21:29 -05:00
jimsalterjrs 2bf3547eb5 fixed syncoid regression in #112 (sort creation, match guid) 2017-07-17 09:44:07 -04:00
jimsalterjrs 00cb721922 1.4.13 syncoid no longer dies on first replication failure in recursive replication calls 2017-07-12 17:03:33 -04:00
jimsalterjrs cf68e81d03 keep trying to replicate other child datasets even if one dataset fails 2017-07-12 16:59:58 -04:00
jimsalterjrs bb1e7ce481 fixed bug DIE-ing unnecessarily when no matching snapshot existed on target but --no-sync-snap had not been set 2017-07-12 16:47:37 -04:00
jimsalterjrs 243653fd9f 1.4.12 strip whitespace in template defs in sanoid.conf per #61 2017-07-12 16:25:34 -04:00
jimsalterjrs 7e22bff175 1.4.11 enhanced Syncoid to use `guid` instead of `creation` for extra snapshot identification (beyond the name) 2017-07-12 15:49:45 -04:00
jimsalterjrs b536f0c6f7 1.4.10 - add --compress=pigz-fast and --compress=pigz-slow to syncoid 2017-07-12 15:23:23 -04:00
jimsalterjrs 84a747630b added --compress=pigz-fast and --compress=pigz-slow to syncoid 2017-07-12 15:16:55 -04:00
jimsalterjrs 804fd0fd1b add -c option to specify ssh cipher directly from command line 2017-07-04 17:07:54 -04:00
Rolf Schäuble 47ff88db9d Fix #91: do not use exit codes > 255
Exit codes > 256 are treated by bash as `exit_code % 256`, which is confusing. Furthermore, using code 256 is particularly problematic, as 256%256=0, which means success, and is not was was intended here.

For further information about special exit codes, see http://tldp.org/LDP/abs/html/exitcodes.html.
2017-06-20 11:42:35 +02:00
Jim Salter 998d3fe5e5 controlpersist=yes --> controlpersist=1m
Make the SSH control channel die after 1m, to avoid complaints of accumulating dead mux channels.
2017-05-03 15:37:07 -04:00
Jim Salter ab12e59485 Merge pull request #66 from ZmK/patch-1
Bug correction in 'getsnaps'
2017-05-03 15:14:41 -04:00
Jim Salter 5cadb17d03 Merge pull request #59 from lalloni/master
List only filesystems when finding children
2017-05-03 15:05:07 -04:00
Jim Salter e8906de2f0 only list snapshots in $getsnapcmd 2017-05-03 15:04:32 -04:00
Jim Salter 5fa92fa8cb don't accidentally pick up snapshots when getting child datasets 2017-05-03 15:02:10 -04:00
AndCycle d3ca4371a1 added missing isroot args 2017-04-13 22:37:09 +08:00
jimsalterjrs 3437326a9c wups - forgot to update version strings in sanoid and syncoid themselves 2017-03-13 15:02:47 -04:00
jimsalterjrs 5168481545 1.4.8 added --no-stream and --no-sync-snap to allow simple -i incrementals (no intermediate stream), and sync to newest pre-existing snapshot without creating a syncoid snapshot 2017-03-13 14:57:45 -04:00
ZakMcKraken 8534369204 Bug correction in 'getsnaps'
getsnaps not working when snapshot name contains 'creation'
2017-01-17 17:38:35 +01:00
Jim Salter ffa22c9105 Update syncoid
cause raw invocation to print typical/minimal usage example, as per @rriley and @fajarnugraha suggestions
2016-12-28 11:01:11 -05:00
Jim Salter d437d9f8df Update syncoid 2016-12-28 10:58:11 -05:00
Pablo Lalloni 50f07db14f List only filesystems when finding children
Fixes #58
2016-11-03 02:40:46 -03:00
Nathan Walp 7eb772fef8 add --quiet option 2016-08-16 22:36:58 -04:00
Jim Salter d84fd9e1ab more warning fixing, sigh 2016-08-07 15:26:32 -04:00
Jim Salter 7bd2bed91b more uninitialized value shushing 2016-08-07 15:22:19 -04:00
Jim Salter 2876637655 fixed use of uninitialized value warnings in syncoid 2016-08-07 12:13:32 -04:00
Jim Salter adb14d2343 changed die to warn if syncoid fails to zfs destroy a sync snapshot - no good reason to stop a sync for that 2016-08-07 11:45:46 -04:00
Jim Salter 95f1ecb159 1.4.7 reverted shebangs to Linux style, added -F to zfs receive, dyked out set readonly behavior to mitigate upstream bugs in mount/unmount 2016-06-13 11:42:17 -04:00
Jim Salter c0f065b0f0 1.4.6c - merged @gusson's --sshport argument enhancement for syncoid 2016-05-27 19:01:51 -04:00
Jim Salter cd19307ab4 Merge branch 'gusson-ssh_port'
Conflicts:
	CHANGELIST
	findoid
	sanoid
	syncoid
2016-05-27 18:58:48 -04:00
Jim Salter dd4ef0fa53 1.4.6c merge @gusson's --sshport argument for syncoid 2016-05-27 18:57:55 -04:00
Jim Salter 6eaa303327 1.4.6b - updated cipherlist for syncoid to chacha20-poly1305@openssh.com,arcfour 2016-05-27 18:24:27 -04:00
Albin Gustavsson 5b3693357e Added options to set ssh port.
ssh port can be set by passing the -sshport variable on the command line or by changing the $sshport variable.
2016-05-26 20:32:09 +02:00
Jim Salter 17759ce659 1.4.6a - mitigate ZFS on Linux bug #4473 by complaining not dying if set readonly fails. 2016-05-25 17:00:19 -04:00
Jim Salter 546bfabf6d added ==0 or die to all system calls in sanoid and syncoid that didn't already have them 2016-05-23 18:55:42 -04:00
Jim Salter 839d65d808 1.4.5 changed shebang to '#!/usr/bin/env perl' for enhanced FreeBSD compatibility 2016-05-23 12:35:11 -04:00
Thomas M. Lapp c87279f899 Added -sshkey arg for automated cron runs 2016-03-08 10:29:50 -05:00
Jim Salter 633c5e237d jjlawrens' portability pull requests + configdir option for sanoid 2015-12-31 14:52:47 -05:00
Jim Salter e19b0ab595 Merge pull request #19 from jjlawren/ps_compatibility
Use UNIX-style 'ps' options everywhere for compatibility
2015-12-31 14:43:43 -05:00
Jason Lawrence 48d1de5b0c Use UNIX-style 'ps' options everywhere for compatibility 2015-12-31 11:54:05 -06:00
Jason Lawrence 921ec1b3da Also check for 'zfs receive' alias 2015-12-31 11:03:59 -06:00
Jim Salter 3280856d6f minor fix - add a 2>&1 to get rid of the 'Exit request sent.' noise at the end when killing the ssh master 2015-09-18 12:14:54 -04:00
Jim Salter 257794c2f1 1.4.3 - added SSH persistence - speeds up SSH overhead by 300%+ 2015-09-18 12:03:25 -04:00
Jim Salter a334fc9e15 1.4.2 - remove -r flag from zfs destroy command for pruned snapshots 2015-05-11 11:13:27 -04:00
Jim Salter 9c3bf32fa5 more robust zpool list parsing 2015-04-11 14:09:50 -04:00
Jim Salter c0f1131fa6 added findoid tool 2015-04-06 18:10:02 -04:00
Jim Salter 8a6048635a whoops - keep process_children_only from being set from blank value in defaults.conf 2015-04-02 11:24:00 -04:00
Jim Salter 470a16e480 process_children_only keeps sanoid from messing with empty parent datasets; improved docs in default conf files 2015-04-02 11:10:38 -04:00
Jim Salter aa55a4ece0 1.2.0 - added monitor-children-only parameter to sanoid.conf for cases where parent dataset is kept empty 2015-04-01 18:38:08 -04:00
Jim Salter a030aa9903 Merge branch 'dev' 2015-04-01 18:03:02 -04:00
Jim Salter 2031b64a8e recursion support in sanoid, die on unknown values in sanoid.conf 2015-04-01 18:01:42 -04:00
Jim Salter b4d6a6f8eb 1.0.19 - working recursive sync in syncoid! 2015-03-30 18:51:32 -04:00
Jim Salter 5c157f821c 1.0.19 - working recursive sync in syncoid! 2015-03-30 18:48:00 -04:00
Jim Salter 12a9919063 added --recursive/-r arg to novalue args list, made sure -r would set --recursive 2015-03-30 18:18:19 -04:00
Jim Salter d3832954e5 1.0.18 - syncoid: broke sync routine out of main() and into syncdataset(), so we can add recursive synchronization in 1.0.19 =) 2015-03-30 18:10:11 -04:00
Jim Salter 4592358bdb 1.0.17 - syntax checks in sanoid and syncoid, --compress=lzo|gzip|none in syncoid, use of sudo where appropriate in syncoid, improved CLI argument parsing in both sanoid and syncoid 2015-03-21 20:32:45 -04:00
Jim Salter 9a4f239799 ok NOW I think all sudo is working... fixed bug in initial send with sendsize and with sendcmd 2015-03-21 20:09:34 -04:00
Jim Salter 29f98fe5ba sudo is working in syncoid! 2015-03-21 19:58:51 -04:00
Jim Salter 63e32196d0 added sudo cmds everywhere hopefully... 2015-03-21 19:51:28 -04:00
Jim Salter 3604fcab0a added uid checking to syncoid, next up: add sudo commands as necessary when not root 2015-03-21 15:30:55 -04:00
Jim Salter 0e51dddf3c extended improved argument parsing to syncoid also 2015-03-20 17:56:39 -04:00
Jim Salter 3cd393fc23 vastly improved sanoid argument parsing, updated version to 1.0.16 2015-03-20 17:46:10 -04:00
Jim Salter bba140aac6 added --compress=gzip|lzo|none parsing to syncoid, defaults to lzo 2015-03-19 16:30:42 -04:00
Jim Salter e54a2eb4bc reduced unnecessary depth of dataset listing in syncoid snapshot fetch routine - thanks @0xFate 2015-03-15 12:16:23 -04:00
0xFate 3f00ec8503 didnt grab the right one 1st time
this one reduces depth of the get command to 1 so zfs get wont pull subsequent dataset snapshots.
2015-03-14 17:26:58 +01:00
0xFate 58362924de Speed-up Sync process
This is a simple change which speeds up Sync process on systems with a high amount of Snapshots. It gets only Snapshots desired for the targeted FS and reduces output and thus Parsing time of the get command in the first place, and schould greatly reduce later processes (sorting arrays, mathing snaps) due to the reduced overhead.
2015-03-08 05:03:58 +01:00
Jim Salter 2f4d8a6e5c removed LWP::Simple deps from syncoid as well 2015-03-01 19:39:13 -05:00
Jim Salter c6a5aad2aa whoops - updated version number and added monitor-version to syncoid as well 2014-11-24 10:20:11 -05:00
Jim Salter 33d154d04b added version checking command to sanoid and syncoid 2014-11-18 10:18:43 -05:00
Jim Salter 280639c9cf updated git username 2014-11-17 12:13:46 -05:00
Jim Salter 8f5dd7fe46 inserted license blurb in sanoid and syncoid 2014-11-17 10:47:20 -05:00
Jim Salter a8b57203d0 initial commit: syncoid 2014-11-17 10:06:05 -05:00