Commit Graph

101 Commits

Author SHA1 Message Date
f99b720a21 snap-sync: support selection of SUBVOLID
- either use --subvolid 'id' or --SUBVOLID 'id'
- or --subvolid='id' or --SUBVOLID='id'

Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
2017-11-22 21:59:18 +01:00
3033822423 snap-sync: reflact subvolid for processed snapshot backup
- snapper_sync_id should take into account the selected_subvolid
  in combination with the selected_uuid

Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
2017-11-22 21:59:18 +01:00
024cfc4392 snap-sync: 0.4.4 version bump
Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
2017-11-22 21:59:18 +01:00
b973e3e0a8 snap-sync: support dryrun, and selection of mounted target subvolume
- introduce commandline option --dry-run
  perform a trial run where no changes are made.
- introduce option --TARGET
  Specify the mountpoint of the BTRFS subvolume to back up to.
  This makes it possible, to have multiple subvolumes on target disks,
  and select them as needed to store backup configurations.

Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
2017-11-22 21:59:18 +01:00
4b6a06f885 snap-sync: 0.4.3 version bump (inital posix version)
- use dash as reference shell
- refine all bashism to posix calls
- convert bash arrays to posix "pseudo arrays"
  yes, posix does not support handy arrays
- introduce global/local variables
- using (hopefully) more descriptive variable names
- new function verify_snapper_structure()
  that takes care to construct target snapper file-structure
  as needed
- 0.4.3 bump version

Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
2017-11-22 21:59:18 +01:00
2ed161c8db snap-sync: restructure function block
- new function get_disk_info()
- new function run_config()
- new function run_backup()
- new function get_target_disk()
- apply them to be in lexical order

Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
2017-11-22 21:59:17 +01:00
15a0aee30e snap-sync: new function check_prerequisites()
- check availability of referenced programs at runtime
- check if $SNAPPER_CONFIG is readable

Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
2017-11-22 21:59:17 +01:00
2612174cfe snap-sync: introduce function block, parse_params()
- create function block
  functions are sorted by name
- new function parse_params()
  check initial commandline  arguments and defaults
- introduce a verbose option
2017-11-22 21:59:17 +01:00
9f0524262d snap-sync: track script-name as 'progname'
- change variable 'name' to 'progname'
2017-11-22 21:59:17 +01:00
3349270546 snap-sync: cleanup trailing whitespace 2017-11-22 21:59:17 +01:00
19dc43125c snap-sync.bash: rename bash version of snap-sync to snap-sync.bash
Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
2017-11-22 21:59:13 +01:00
James Barnett
52db8f099a List mounted btrfs disks with subvolid
When listing mounted devices, list the subvolid of the mountpoint, since
a single btrfs disk can be mounted multiple times using subvolumes.
Additionally tag snapshots with subvolid to keep track of this. This
will break current usage, but users can manually tag old snapshots with
subvolid's in order to migrate them. Add -s/--subvolid command line
parameter to pass specified subvolid to program.

Cf. #45.
2017-11-11 11:57:49 -05:00
James Barnett
fe05b91db4 make libnotify optional 2017-11-07 13:04:01 -05:00
James Barnett
34ef2fa185 instead of deleting old snapshot, change to number algorithm and note that it can be removed 2017-08-27 17:18:45 -04:00
James Barnett
c97a99f652 version bump 2017-08-26 14:20:26 -04:00
James Barnett
a4a6ef79a5 version bump 2017-08-23 19:36:55 -04:00
James Barnett
455b8718dd allow nonroot user to see help 2017-07-18 08:26:03 -04:00
Michael Albert
1a217f416b Fixed typo from TARKET to TARGET. 2017-07-12 10:52:15 -04:00
Michael Albert
69f388de11 Currently, since there are no UUIDs listed when TARGETS is computed,
then nothing is excluded even if a number of the mounts shouldn't be
there. This fixes that and ensures that the UUIDs are correctl listed
with the right mount point. This was originall broken in commit c4f12235ae.
2017-07-12 10:47:20 -04:00
Tom Vincent
a451654b1c Prevent duplicate notifications
Before, a notification would be sent for each login shell. Now,
deduplicate the users list and abstract the notification function whilst
we're at it.
2017-07-09 12:24:35 +01:00
James Barnett
c4f12235ae Check if root system is BTRFS before excluding it
Fixes #44.
2017-06-17 08:40:46 -04:00
James Barnett
0dd0300a23 look for config files in standard location on installation 2017-06-03 20:22:59 -04:00
James Barnett
c4654b8859 fix test for real 2017-06-03 19:59:33 -04:00
James Barnett
043bfe8bd2 fix typo 2017-06-03 19:58:25 -04:00
James Barnett
bd109348b1 use SNAPPER_CONFIG var cf. #43 2017-06-03 19:52:56 -04:00
James Barnett
663c0d6193 license header 2017-06-03 19:49:33 -04:00
James Barnett
f99fbbdafe Change snapper configuration location via Makefile
Update installation instructions.

Fixes #43.
2017-06-03 18:46:10 -04:00
James Barnett
bfbcefbe31 Check if UUID occurs twice for a configuration
Skip that configuration if that is the case.

Fixes #41.
2017-06-01 08:46:43 -04:00
James Barnett
dffb4f4446 printf formatting 2017-05-31 15:09:30 -04:00
James Barnett
e278c72c9d Prompt for user to delete failed snapshots
Fixes #40.
2017-05-31 14:59:02 -04:00
James Barnett
a43712ae8a Exclude source subvolumes
Find out parent mountpoint of /etc/conf.d/snapper, get UUID, and exclude
it from list of targets. If no external btrfs subvolumes found, exit.

Fixes #28.
2017-05-31 14:29:51 -04:00
James Barnett
b70a26579a rm test 2017-05-31 14:17:02 -04:00
James Barnett
789de29893 use error() 2017-05-31 12:54:19 -04:00
James Barnett
ccfb4c1209 trace errors
Fixes #39.
2017-05-31 12:16:37 -04:00
James Barnett
70d39d08e1 forgotten version bump 2017-05-30 06:59:09 -04:00
James Barnett
be30b052a4 kill program when error is trapped 2017-05-30 06:53:43 -04:00
James Barnett
dfab7e88d0 Loop disk selection until a valid number is entered.
Fixes #33.
2017-05-29 13:10:19 -04:00
Wael M. Nasreddine
effa00cc75 btrfs send takes options before arguments
btrfs-progs 4.11 includes this patch[0] which has updated the option
parser which has enforced the order in which arguments and options
appear in. See this email for context[1]

[0]: https://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git/commit/?id=010ceab56e067b87ea282fde6ff792c1ceefd7dc
[1]: https://www.mail-archive.com/linux-btrfs@vger.kernel.org/msg62226.html
2017-05-28 23:05:09 -07:00
James “Wes” Barnett
b449c1e0d0 Merge pull request #30 from kalbasit/patch-1
do not hardcode the name of the snapper configuration
2017-04-29 13:25:03 +00:00
Wael Nasreddine
00735c07b4 fix a typo: $mkdir => $ssh mkdir 2017-04-28 17:03:22 -07:00
Wael Nasreddine
004eed1eaa fix a typo in the snapper command 2017-04-28 15:54:14 -07:00
James Barnett
2997b80981 specify if remote 2017-04-11 20:13:24 -05:00
James Barnett
e3ed75a4e5 update help 2017-04-11 14:33:29 -05:00
James Barnett
615d1a5dc5 ssh backups 2017-04-11 13:59:58 -05:00
James Barnett
cf02a5cf51 update errors 2017-02-14 17:05:51 -06:00
James Barnett
082b43f680 cleanup output functions 2017-02-13 19:48:01 -06:00
James Barnett
c823230ee7 formatting 2017-02-02 19:37:59 -06:00
James Barnett
35c6cf6f97 formatting 2017-02-02 19:36:44 -06:00
James Barnett
d3343b97dd formatting 2017-02-02 19:35:35 -06:00
James Barnett
6fd2a01379 more notifications; rm variable output 2017-02-02 19:32:46 -06:00